1、使用os.system(command),在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态。这实际上是使用C标准库函数system()实现的。这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果。
os.system('ping 192.168.1.168')
这个方法会弹出cmd窗口,很烦人,可以使用下面的函数
2、os.popen(command,mode) 打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是’r’)。如果mode为’r’,可以使用此函数的返回值调用read()来获取command命令的执行结果。
print os.popen('ping 192.168.1.168').read()
3、subprocess.Popen(command) 使用subprocess模块可以创建新的进程,可以与新建进程的输入/输出/错误管道连通,并可以获得新建进程执行的返回状态。使用subprocess模块的目的是替代os.system()、os.popen*()、commands.*等旧的函数或模块。
handle = subprocess.Popen('ping 192.168.1.168',stdout=subprocess.PIPE, shell=True) print handle.stdout.read()