Python执行系统命令的方法

Python是基于C语言编写的和操作系统很贴近,这似乎是所有脚本语言的特点。所以在脚本语言之中经常需要调用系统命令。
Python调用系统命令的接口主要有三个:os.system(),os.popen(),commands

1.os.system()

result = os.system('cat /proc/cpuinfo') #linux
result = os.system('ipconfig') #windows

输出是直接输出到控制台的,返回值就是命令执行的退出码。

2.os.popen

output = os.popen('cat /proc/cpuinfo')
print output.read()
output.close()

popen打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r')。
如果mode为'r',可以对output当做文件来处理(read(),readline())。
注意使用这个函数的时候返回的是文件对象,需要调用output.close()

3.commands.getstatusoutput()

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')
print status, output
output.close()

command命令并返回一个元组(status,output),分别表示command命令执行的返回状态和执行结果。
对command的执行实际上是按照{command;} 2>&1的方式,所以output中包含控制台输出信息或者错误信息。
注意output中将换行符写成'\n'。

你可能感兴趣的:(python,command)