可以执行shell命令的相关模块和函数有:os.system os.spawn os.popen等
call方法:执行命令,返回状态码。shell = True意思是允许shell命令是字符串形式。
check_call方法:执行命令,如果执行状态是0,则返回0,否则抛出异常。
check_output方法:执行命令,如果状态码是0, 则返回执行结果,否则抛出异常
Popen方法:用于执行负责的系统命令
参数:
args:shell命令,可以是字符串或序列类型
bufsize:指定缓冲。0无缓冲,1行缓冲,其他缓冲区大小,负值 系统缓冲。
stdin stdout stderr:分别表示程序的标准输入、标准输出、错误句柄
preexec_fn: 只在Unix平台下有效,用于指定一个执行对象(callable object),它将在子进程运行之前被调用。
close_sfs:在windows平台下,如果close_fds被设置为True,则新创建的子进程将不会继承父进程的输入、输出、错误管道。
cwd:用于设置子进程的当前目录。
env:用于指定子进程环境变量。如果env=None,子进程的环境变量将从父进程中继承。
universal_newlines: 不同系统换行符不同, True表示同意使用
startupinfo与createionflags只在windows下有效。将被传递给底层的CreateProcess()函数,用于设置子进程的一些属性,如:主窗口的外观,进程的优先级等
import subprocess while True: cmd = input('>>:') p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.stdout.read(), p.stderr.read() res = out if out else err print(res.decode('gbk'))
等多:http://blog.csdn.net/g457499940/article/details/17068277