在Python中调用外部命令是什么

方法1: os.systemjava

直接使用 os.system("command") 来执行外部程序,返回程序结束返回码(正常0/1错误),这其实是使用C标准库函数system()实现的。这个函数在执行command命令时须要从新打开一个终端,而且没法保存command命令的执行结果。segmentfault

缺点: 不能获取程序输出stdout.不能像PHP的exec(string $command [, array &$output [, int &$return_var ]] )来用数组储存输出stdout.数组

方法2: os.popen函数

popen实际是获取命令运行后的输出结果,储存在临时文件当中. 使用命令:spa

os.popen(command [, mode, bufsize])对象

实际原理是打开一个与command进程之间的管道。这个函数的返回值是一个文件对象,能够读或者写(由mode决定,mode默认是’r')。若是mode为’r',能够使用此函数的返回值调用read()来获取command命令的执行结果。进程

支持逐行分析以下例代码:rem

也支持 p.readlines(), for line in p等文件处理方法.get

方法3: commands.getstatusoutputstring

使用命令: status, output = commands.getstatusoutput(command)

实际使用os.popen()函数执行command命令并返回一个元组(status,output),分别表示command命令执行的返回状态和执行结果。对command的执行其实是按照{command;} 2<&1的方式,因此output中包含控制台输出信息或者错误信息。output中不包含尾部的换行符。

以上就是在Python中调用外部命令是什么的详细内容,但愿对你有所帮助。

1449154418-13.jpg

阅读原文:在Python中调用外部命令是什么

相关文章:
如何高效地获取文件行数
java中什么是序列化
如何删除 list 中指定 index 的元素
如何输出到stderr
c语言数组中以列优先对吗?