Python之subprocess模块sys模块
Posted 迎风而来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之subprocess模块sys模块相关的知识,希望对你有一定的参考价值。
一、subprocess模块
# import os # os.system(\'tasklist\') #类似cmd输入系统命令 \'\'\' subprocess的目的就是启动一个新的进程并且与之通信。 subprocess模块中只定义了一个类: Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。\'\'\' import subprocess #可以替代os.system import time #stdout命令正确输出结果,PIPE进程与进程之间共享的管道,shell=True代表调用命令解释器 obj=subprocess.Popen( \'taskliasdfsadfst\', #可以输入系统命令 shell=True, stdout=subprocess.PIPE, #如输入tasklist stderr=subprocess.PIPE #如输入taskliasdfsadfst ) # print(obj) stdout_res=obj.stdout.read() #从儿子将正确的结果放到管道中,父亲等儿子将正确的结果放入管道,父亲从正确的管道读结果 print(stdout_res.decode(\'gbk\')) ##windows默认的是gbk编码的,所以解码也要用gbk print(stdout_res) # stderr_res1=obj.stderr.read() # # stderr_res2=obj.stderr.read() # stderr_res3=obj.stderr.read() # print(stderr_res1.decode(\'gbk\')) #windows默认的是gbk编码的,所以解码也要用gbk # 打印结果:\'taskliasdfsadfst\' 不是内部或外部命令,也不是可运行的程序 # 或批处理文件。 # print(stderr_res1) #第一次从管道中取走,后面再取则为空 # print(stderr_res2) # print(stderr_res3) # import time # time.sleep(50)
二、sys模块
import sys # sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。 # sys.argv # 用来接收python解释器执行py文件后跟的参数 #例如:python cp.py argv1 argv2 arg3 #sys.argv=[\'cp.py\',\'argv1\',\'argv2\',\'argv3\'] import sys print(sys.argv[0]) print(sys.argv[1]) # sys.argv 命令行参数List,第一个元素是程序本身路径 # sys.exit(n) 退出程序,正常退出时exit(0) # sys.version 获取Python解释程序的版本信息 # sys.maxint 最大的Int值 # sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 # sys.platform 返回操作系统平台名称
sys实现文件的拷贝
\'\'\'执行文件:cp.py\'\'\' import sys print(sys.argv)------------[] # src_file=input(\'请输入源文件路径:\') src_file=sys.argv[1] #通过cmd拿到源文件路径 # dst_file=input(\'请输入目标文件路径:\') dst_file=sys.argv[2] #通过cmd拿到目标件路径 with open(src_file,\'rb\') as read_f,\\ open(dst_file,\'wb\') as write_f: for line in read_f: write_f.write(line)
cmd运行内容:
以上是关于Python之subprocess模块sys模块的主要内容,如果未能解决你的问题,请参考以下文章
python模块 os&sys&subprocess&hashlib模块
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess