首页 > > > Python 执行 Linux 操作系统命令
在开发运维脚本过程中,经常需要执行一些操作系统命令,常用方法如下:
1、使用 os.system
>>> import os
>>> cmd = 'ls /'
>>> res = os.system(cmd)
bin boot data dev etc home lib lib64 media mnt opt oracle proc root run sbin srv sys tmp usr var
>>> print(res)
特点:
(1)Python 内置方法,执行成功返回 0,并在标准输出打印命令执行结果
(2)不能返回命令的运行结果
2、使用 commands.getstatusoutput
>>> import os commands
>>> cmd = 'ls /'
>>> status,output = commands.getstatusoutput(cmd)
status 为命令执行的状态,成功返回 0 ,出错返回非 0 值;
output 是命令的执行结果
特点:
(1)commands 只能在 Python2.x 版本使用,而且并不是每一个 Python2.x 版本 都自带了该模块;
(2)commands 包在 Python3 中已经废弃
3、使用 subprocess.Popen
>>> from subprocess import Popen, PIPE
>>> process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
>>> stdout, stderr = process.communicate()
stdout 为命令执行结果,stderr 为命令错误信息。注意,某些命令即便执行成功,也会有错误提示信息,但不影响结果。
特点:
(1)Python2.x 和 Python3.x 内置模块
(2)可以同时返回命令执行结果和错误信息
综上,推荐使用第三种方法。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927062/viewspace-3133272/ ,如需转载,请注明出处,否则将追究法律责任。