Rumah  >  Artikel  >  pembangunan bahagian belakang  >  在Python中调用外部命令是什么

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

silencement
silencementasal
2019-05-25 14:51:122631semak imbas

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

方法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

Atas ialah kandungan terperinci 在Python中调用外部命令是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn