知行编程网知行编程网  2022-12-04 21:30 知行编程网 隐藏边栏  0 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python subprocess模块怎么用?的相关知识,包括python schedule模块,以及python如何import自己的模块这些编程知识,希望对大家有参考作用。



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.Popen()
subprocess 模块中基本的进程创建和管理由Popen 类来处理.
subprocess.popen是用来替代os.popen的.

让我们做一些真实的例子,subprocess.Popen 接受一个数组作为参数:

如何使用 Python 子进程模块?


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

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

如何使用 Python 子进程模块?

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

基本上,当你使用 communicate() 函数时,就意味着你将要执行命令。

如何使用 Python 子进程模块?


以上内容大家可以消化了解下哦~如需了解更多python实用知识,点击进入



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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享