
python如何执行终端命令
用户关注问题
如何在Python中运行系统命令?
我想通过Python脚本执行一些终端中的系统命令,应该使用哪些方法实现?
使用subprocess模块执行系统命令
Python推荐使用subprocess模块来执行系统命令。可以通过subprocess.run()函数传入命令和参数,例如:
import subprocess
subprocess.run(['ls', '-l'])
该方法运行命令并等待其完成,也可以捕获输出和错误信息。
在Python中执行终端命令时如何获取命令的输出结果?
我想运行终端命令并将执行结果保存到变量中,Python应该如何操作?
使用subprocess.run配合capture_output参数
使用subprocess.run()函数时,可以设置capture_output=True来捕获命令的标准输出和标准错误。例如:
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
这样就能获取并处理命令执行后的返回内容。
有没有简便方法让Python执行命令并自动处理异常?
执行终端命令时,如何让Python及时发现命令执行失败,并处理异常?
使用subprocess.run的check参数
subprocess.run()支持check=True参数,当命令执行返回非零状态时会抛出异常。示例:
try:
subprocess.run(['ls', '/nonexistent'], check=True)
except subprocess.CalledProcessError as e:
print('命令执行失败:', e)
这样可以方便捕获错误,避免程序异常退出。