Python中subprocess模块的使用方法-创新互联

Python中subprocess模块的使用方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

我们提供的服务有:网站制作、网站建设、微信公众号开发、网站优化、网站认证、南票ssl等。为1000多家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的南票网站制作公司

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

让我们来看一下subprocess 有哪些不同的函数:

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

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

  • 注意,参数shell默认为False

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

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

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

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

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

Python中subprocess模块的使用方法

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

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

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

Python中subprocess模块的使用方法

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

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

Python中subprocess模块的使用方法

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

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

Python中subprocess模块的使用方法

感谢各位的阅读!看完上述内容,你们对Python中subprocess模块的使用方法大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。


文章题目:Python中subprocess模块的使用方法-创新互联
转载来于:http://scyanting.com/article/disesd.html