python如何执行终端命令

python如何执行终端命令

作者:Elara发布时间:2026-01-06阅读时长:0 分钟阅读次数:21

用户关注问题

Q
如何在Python中运行系统命令?

我想通过Python脚本执行一些终端中的系统命令,应该使用哪些方法实现?

A

使用subprocess模块执行系统命令

Python推荐使用subprocess模块来执行系统命令。可以通过subprocess.run()函数传入命令和参数,例如:

import subprocess
subprocess.run(['ls', '-l'])

该方法运行命令并等待其完成,也可以捕获输出和错误信息。

Q
在Python中执行终端命令时如何获取命令的输出结果?

我想运行终端命令并将执行结果保存到变量中,Python应该如何操作?

A

使用subprocess.run配合capture_output参数

使用subprocess.run()函数时,可以设置capture_output=True来捕获命令的标准输出和标准错误。例如:

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

这样就能获取并处理命令执行后的返回内容。

Q
有没有简便方法让Python执行命令并自动处理异常?

执行终端命令时,如何让Python及时发现命令执行失败,并处理异常?

A

使用subprocess.run的check参数

subprocess.run()支持check=True参数,当命令执行返回非零状态时会抛出异常。示例:

try:
subprocess.run(['ls', '/nonexistent'], check=True)
except subprocess.CalledProcessError as e:
print('命令执行失败:', e)

这样可以方便捕获错误,避免程序异常退出。