subprocess 模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了subprocess 模块相关的知识,希望对你有一定的参考价值。

  

subprocess 模块

import subprocess # 专门用于python执行系统命令的

subproess 的三个最基本的方法:
call()
执行命令,返回状态码

subprocess.call([‘ls‘,‘-a‘],shell=False) 
subprocess.call(‘ls -a‘,shell=True)
在带参数情况下,如果参数分开则shell需要设置为false,否则为true

check_call()
执行命令,如果执行状态码是0,则返回0,否则抛出异常

check_output()
执行命令,如果状态码是0,则返回执行结果,否则抛出异常

对于复杂命令 ,可以使用subprocess.popen()
example:

obj = subprocess.Popen("mkdir t3",shell=True,cwd==‘/home/dev‘)

参数1 指定执行的命令
参数2 指定是否允许带参数一起执行还是命令和参数分开,
参数3 指定目录


obj = subprocess.Popen([‘python‘],stdin=subprocess,PIPE,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)
obj.stdin.write(‘print(1)\n‘)
obj.stdin.write(‘print(2)‘)
obj.stdin.close()

cmd_out = obj.stdout.read()
obj.stdout.close()
cmd_error = obj.stderr.read()
obj.stderr.close()

print(cmd_out)
print(cmd_error)

以上是关于subprocess 模块的主要内容,如果未能解决你的问题,请参考以下文章

subprocess模块

subprocess模块

subprocess模块

subprocess模块

python的subprocess模块

subprocess模块