python调用linux下的命令

python调用linux下的命令

作者:Joshua Lee发布时间:2026-03-28 22:29阅读时长:15 分钟阅读次数:10
常见问答
Q
如何在Python脚本中执行Linux命令?

我想在Python程序里运行一些Linux命令,该如何实现?

A

使用subprocess模块执行Linux命令

Python标准库中的subprocess模块允许你运行Linux命令。通过subprocess.run()或subprocess.Popen()可以执行命令并获取其输出或状态。示例代码:

import subprocess
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True)
print(result.stdout)

Q
如何获取Python调用Linux命令的输出结果?

在Python调用Linux命令时,我想得到命令的返回内容,该怎么操作?

A

捕获命令输出的方法

可以通过subprocess.run()函数的stdout参数捕获输出,设置stdout=subprocess.PIPE并指定text=True可返回字符串结果。例如:

output = subprocess.run(['pwd'], stdout=subprocess.PIPE, text=True).stdout
print(output.strip())
这样就会得到命令的标准输出内容。

Q
怎样处理Python调用Linux命令时的错误?

如果我在Python中执行Linux命令时出现错误,如何检测并处理这些错误?

A

使用异常捕获和检查返回码

subprocess.run()带有check参数,可以自动检查命令退出码,如果非零会抛出CalledProcessError异常。示例:

try:
subprocess.run(['false'], check=True)
except subprocess.CalledProcessError as e:
print(f'命令执行失败,错误码:{e.returncode}')
此外,可以查看CompletedProcess对象的returncode属性来判断命令是否成功。