前言
今天xz跟我说了subprocess模块,正好我晚上就用了subprocess模块。
我们能从Python官方文档里读到应该用subprocess 模块来运行系统命令.subprocess模块允许我们创建子进程,连接他们的输入/输出/错误管道,还有获得返回值。
subprocess模块打算来替代几个过时的模块和函数,比如: os.system,os.spawn*, os.popen*, popen2.*命令。
让我们来看一下subprocess有哪些不同的函数.
subprocess.call()
执行由参数提供的命令.
我们可以用数组作为参数运行命令,也可以用字符串作为参数运行命令(通过设置参数shell=True)
注意,参数shell默认为False
我们用subprocess.call()来做一个统计磁盘的例子:
subprocess.call([‘df’, ‘-h’])
下面的例子把shell设置为True
subprocess.call(‘du -hs $HOME’, shell=True)
注意python官方文档里对参数shell=True陈述了一个警告:
Invoking the system shell with shell=True can be a security hazard if combined
with untrusted in