Python中执行系统命令常见的几种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中执行系统命令常见的几种方法相关的知识,希望对你有一定的参考价值。

作为胶水语言,Python可以很方便地执行系统命令,从而帮助我们快速的完成任务;而且Python执行系统命令可采用的方法有很多,本文重点介绍一下:os.system()、os.popen()和subprocess模块。
1. os.system()
这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。
>>> import os
>>> output = os.system('cat /proc/cpuinfo')
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>> output # doesn't capture output
0
2. os.popen()
这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。
>>> output = os.popen('cat /proc/cpuinfo')
>>> output
>>> print output.read()
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>>
3. subprocess模块
该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。
>>> import subprocess
>>> subprocess.Popen(["ls", "-l"]) # python2.x doesn't capture
output
>>> subprocess.run(["ls", "-l"]) # python3.x doesn't capture
output
>>> total 68
drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents
drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads
... ...
>>>
参考技术A #我知道两种(Windows系统)
#1:
os.system('command line') #直接运行,运行成功返回0
#2:
p=os.popen('command line') #打开一个线程运行命令,并可以像读取文件一样读取返回信息
print(p.read()) #读取返回信息
p.close() #关闭

本回答被提问者和网友采纳

以上是关于Python中执行系统命令常见的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

Python中执行系统命令常见的几种方法

python执行linux系统命令的几种方法(python3经典编程案例)

python执行linux系统命令的几种方法(python3经典编程案例)

python执行这样一条windows系统命令怎么不行

21 python调用外部系统命令

方法总结及易错点总结