
python如何执行linux命令
用户关注问题
我想通过Python脚本执行一些Linux终端命令,有什么简单的方法可以实现吗?
使用subprocess模块运行Linux命令
在Python中,可以使用subprocess模块来执行Linux命令。通过subprocess.run()函数可以运行命令并获取输出。例如:
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
这段代码会执行ls -l命令,并将输出结果打印出来。
执行Linux命令后,我需要得到命令的输出结果,Python中怎样实现?
利用subprocess模块的返回值获取输出
subprocess.run()函数有capture_output和text参数,可以捕获命令的标准输出和标准错误信息,并以字符串形式返回。示例代码:
import subprocess
result = subprocess.run(['uname', '-a'], capture_output=True, text=True)
output = result.stdout
print('命令输出:', output)
这样,就可以方便地获取并使用Linux命令的输出内容。
如果Linux命令执行失败,Python该如何检测并处理错误?
使用try-except捕获subprocess异常
在执行Linux命令时,可能会出现错误,比如命令不存在或执行失败。可以在Python中使用try-except结构捕获subprocess.CalledProcessError异常。如:
import subprocess
try:
subprocess.run(['wrong_command'], check=True)
except subprocess.CalledProcessError as e:
print('命令执行错误:', e)
这样可以捕获并处理命令执行失败的情况,避免程序崩溃。