Python中subprocess库的用法介绍


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Python中subprocess库的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

介绍

使用subprocess模块的目的是用于替换os.system等一些旧的模块和方法。

导入模块

1

>>> import subprocess

命令执行call()

执行由参数提供的命令,把数组作为参数运行命令。其功能类似于os.system(cmd)。

1

>>> subprocess.call(['ls','-l')

其中参数shell默认为False。
在shell设置为True时,可以直接传字符串:

1

>>> subprocess.call('ls -l',shell=True)

获得返回结果check_output()

call()是不返回显示的结果的,可以使用check_ouput()来获得返回的结果:

1

2

>>> result = subprocess.check_output(['ls','-l'],shell=True)

>>> result.decode('utf-8')

进程创建和管理Popen类

subprocess.popen代替os.popen。可以创建一个Popen类来创建进程和进行复杂的交互。

创建不等待的子进程

1

2

3

import subprocess

child = subprocess.Popen(['ping','-c','4','www.baidu.com'])

print('Finished')

添加子进程等待

1

2

3

4

import subprocess

child = subprocess.Popen(['ping','-c','4','www.baidu.com'])

child.wait()  # 等待子进程结束

print('Finished')

添加了wait()后,主进程会等待子进程结束再执行下面的语句。

子进程文本流控制

标准输出重定向:

1

2

3

import subprocess

child = subprocess.Popen(['ls','-l'],stdout=subprocess.PIPE)    #将标准输出定向输出到subprocess.PIPE

print(child.stdout.read())

使用stdin与其配合使用:

1

2

3

4

import subprocess

child1 = subprocess.Popen(['cat','/etc/passwd'],stdout=subprocess.PIPE)

child2 = subprocess.Popen(['grep','root'],stdin=child1.stdout,stdout=subprocess.PIPE)

print child2.communicate()

以上就是Python中subprocess库的用法介绍的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python中fun是什么意思

Python版简单工厂模式的介绍

Python中关于django对数据库mysql的增删改查操作详解

对比分析Python下识别二维码用法和识别率

简单谈谈Python的pycurl模块_Python

Python数据怎么处理numpy.median

Python保存数组怎么操作

Python运算符-位运算符的实际运用与深入分析

Python中list()列表操作符的案例分享

Python如何垂直输出

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...