创新互联Python教程:Pythonsubprocess模块怎么用?

subprocess模块打算来替代几个过时的模块和函数,如: os.system, os.spawn*, os.popen*, popen2.*命令。

创新互联建站专业为企业提供千山网站建设、千山做网站、千山网站设计、千山网站制作等企业网站建设、网页设计与制作、千山企业网站模板建站服务,10多年千山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

subprocess :

  • 执行由参数提供的命令.

  • 我们可以用数组作为参数运行命令,也可以用字符串作为参数运行命令(通过设置参数shell=True)

  • 注意,参数shell默认为False

我们用subprocess.call()来做一个统计磁盘的例子:

 subprocess.call(['df', '-h'])

下面的例子把shell设置为True:

 subprocess.call('du -hs $HOME', shell=True)

注意,python官方文档里对参数shell=True陈述了一个警告:

现在,我们来看看输入与输出

subprocess.Popen()
subprocess 模块中基本的进程创建和管理由Popen 类来处理.
subprocess.popen是用来替代os.popen的.

我们来做一些真实的例子,subprocess.Popen需要一个数组作为参数:

注意,虽然你可以使用 "shell=True",但并不推荐这样的方式.

如果你知道你只用几个有限的函数,比如Popen和PIPE,你可以单单指定这几个函数:

Popen.communicate()
communicate()函数返回一个tuple(标准输出和错误).
Popen.communicate() 和进程沟通:发送数据到标准输入.从标准输出和错误读取数据直到遇到结束符.等待进程结束.
输入参数应该是一个字符串,以传递给子进程,如果没有数据的话应该是None.

基本上,当你用 communicate()函数的时候意味着你要执行命令了。

以上内容大家可以消化了解下哦~如需了解更多python实用知识,点击进入PyThon学习网教学中心。

(推荐操作系统:windows7系统、Python 3.9.1,DELL G3电脑。)

名称栏目:创新互联Python教程:Pythonsubprocess模块怎么用?
标题网址:http://www.gawzjz.com/qtweb2/news9/8309.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联