关于python调用cmd命令:
1、python的OS模块
OS模块调用CMD命令有两种方式:os.popen()、os.system()都是用当前进程来调用。
OS.system是无法获取返回值的。当运行结束后接着往下面执行程序。用法如:OS.system("ipconfig").
OS.popen带返回值的,如何获取返回值。如:
p=os.popen(cmd)
print p.read().得到的是个字符串。
这两个都是用当前进程来调用,也就是说它们都是阻塞式的。
2、管道subprocess模块
运行原理会在当前进程下面产生子进程。
sub=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE) sub.wait() print sub.read()
3、commands.getstatusoutput('cmd')
status ,output = commands.getstatusoutput('cmd') status = commands.getstatus('cmd') output = commands.getoutput('cmd')
顾名思义,status,output分别是执行的状态和输出结果,但是这种方法在windows中不能用。