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


本文摘自php中文网,作者silencement,侵删。

方法1: os.system

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

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

方法2: os.popen

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

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

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

支持逐行分析如下例代码:

796ef892e06c7733d1f0ea01d3e5fbe.png

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

方法3: commands.getstatusoutput

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

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

15cc69775c6561e8b6186a270ab4eb0.png

以上就是在Python中调用外部命令是什么的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

解析Python实现mq消息队列以及消息队列的优点

Python主要从事什么

Python如何生成随机数

Python使用struct处理二进制的方法详解

Python如何使用unittest测试接口_Python

Python3实战爬虫之爬取京东图书的图文详解

使用Python监控linux内存并将其写入mongodb

Python如何写一个函数判断回文数?

pandas groupby 分组取每组的前几行记录方法

Python如何设置背景色

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...