标签:pen 推荐 bsp sub image 文件 ges path log
1.suproess模块。
可以执行系统命令,windows命令或者linux名 都可以。
os模块也可以执行系统命令。但是推荐使用suproess模块
2.具体用法:
import subprocess # res=subprocess.Popen(‘dir D:\python_project‘,shell=True) #逗号前面是要执行的命令(列出指定目录下的所有文件),后面的shell=True是执行命令的意思。 # print(res) #这样打印的是拿到一个内存值,并且把结果输出到屏幕。 res=subprocess.Popen(‘dir D:\python_project‘, shell=True, stdout=subprocess.PIPE, #PIPE是管道,也就是将正确输出放到一个管道中,管道中的数值只能取一次,取走了就没有了。 stderr=subprocess.PIPE) #将错误输出丢到一个管道中,跟上边不是同一个管道。 print(res.stdout.read().decode(‘gbk‘)) #从管道中将值读出来,但是读出的是bytes类型的,需要转码一下,windows需要转成gbk linux转成utf-8 print(res.stderr.read().decode(‘gbk‘)) #将错误从管道拿出,输出打印出来。
3.模拟一个windows命令
#dir file_path | findstr py$ #列出指定目录下的所有文件,过滤出以py结尾的文件 res1=subprocess.Popen(r‘dir D:\python_project\day7\day7‘, shell=True, stdout=subprocess.PIPE,) # stdin=res1.stout res2=subprocess.Popen(r‘findstr py$‘, shell=True, stdin=res1.stdout, #将res1的正确输出当做这个命令的正确输入。 stdout=subprocess.PIPE,) print(res2.stdout.read().decode(‘gbk‘)) #获取res2的正确输出
标签:pen 推荐 bsp sub image 文件 ges path log
原文地址:http://www.cnblogs.com/yxwang/p/7400170.html