• 技术文章 >后端开发 >Python教程

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

    silencementsilencement2019-05-25 16:22:28原创858

    方法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中调用外部命令是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:python相对于range应该更倾向于实用xrange吗 下一篇:python如何检查一个文件夹是否存在,如果不存在就创建它
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• python如何在列表中随机取一个元素• Python如何在 .format 中使用大括号• Python如何测量脚本运行时间
    1/1

    PHP中文网