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) ')
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)

原文地址:https://www.cnblogs.com/zxcv-/p/7732070.html