最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Python中subprocess模块用法实例详解

来源:动视网 责编:小采 时间:2020-11-27 14:33:38
文档

Python中subprocess模块用法实例详解

Python中subprocess模块用法实例详解:本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下: 执行命令: >>> subprocess.call([ls, -l]) 0 >>> subprocess.call(exit 1, shell=True) 1 测试调用系统中cmd命令,显示命令执行的结果: x
推荐度:
导读Python中subprocess模块用法实例详解:本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下: 执行命令: >>> subprocess.call([ls, -l]) 0 >>> subprocess.call(exit 1, shell=True) 1 测试调用系统中cmd命令,显示命令执行的结果: x


本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下:

执行命令:

>>> subprocess.call(["ls", "-l"])
0
>>> subprocess.call("exit 1", shell=True)
1

测试调用系统中cmd命令,显示命令执行的结果:

x=subprocess.check_output(["echo", "Hello World!"],shell=True)
print(x)
"Hello World!"

测试在python中显示文件内容:

y=subprocess.check_output(["type", "app2.cpp"],shell=True)
print(y) 
#include  
using namespace std; 
...... 

查看ipconfig -all命令的输出,并将将输出保存到文件tmp.log中:

handle = open(r'd:	mp.log','wt')
subprocess.Popen(['ipconfig','-all'], stdout=handle)

查看网络设置ipconfig -all,保存到变量中:

output = subprocess.Popen(['ipconfig','-all'], stdout=subprocess.PIPE,shell=True)
oc=output.communicate()#取出output中的字符串
#communicate() returns a tuple (stdoutdata, stderrdata).
print(oc[0]) #打印网络信息
Windows IP Configuration
 Host Name . . . . .

我们可以在Popen()建立子进程的时候改变标准输入、标准输出和标准错误,并可以利用subprocess.PIPE将多个子进程的输入和输出连接在一起,构成管道(pipe):

child1 = subprocess.Popen(["dir","/w"], stdout=subprocess.PIPE,shell=True)
child2 = subprocess.Popen(["wc"], stdin=child1.stdout,stdout=subprocess.PIPE,shell=True)
out = child2.communicate()
print(out)
 (' 9 24 298
', None)

如果想频繁地和子线程通信,那么不能使用communicate();因为communicate通信一次之后即关闭了管道.这时可以试试下面的方法:

p= subprocess.Popen(["wc"], stdin=subprocess.PIPE,stdout=subprocess.PIPE,shell=True)
p.stdin.write('your command')
p.stdin.flush()
#......do something
try:
 #......do something
 p.stdout.readline()
 #......do something
except:
 print('IOError')
#......do something more
p.stdin.write('your other command')
p.stdin.flush()
#......do something more

希望本文所述对大家的Python程序设计有所帮助。

文档

Python中subprocess模块用法实例详解

Python中subprocess模块用法实例详解:本文实例讲述了Python中subprocess模块用法。分享给大家供大家参考。具体如下: 执行命令: >>> subprocess.call([ls, -l]) 0 >>> subprocess.call(exit 1, shell=True) 1 测试调用系统中cmd命令,显示命令执行的结果: x
推荐度:
标签: 使用 用法 模块
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top