python如何给系统发命令

python如何给系统发命令

作者:Joshua Lee发布时间:2026-01-07阅读时长:0 分钟阅读次数:20

用户关注问题

Q
如何在Python中执行操作系统命令?

我想通过Python脚本运行一些系统命令,有哪些方法可以实现?

A

使用subprocess模块执行系统命令

Python提供了subprocess模块来运行系统命令。通过subprocess.run()或subprocess.Popen()函数,可以执行命令并获取输出。例如:

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

这种方法安全且灵活,适合大多数场景。

Q
在Python中如何获取运行系统命令的输出?

我需要从Python调用系统命令,并将命令的结果保存或处理,应怎么办?

A

捕获命令输出并进行处理的方法

使用subprocess模块中的run函数时,可以通过设置capture_output=True来捕获命令的标准输出和标准错误,然后通过result.stdout和result.stderr获取输出内容。例如:

import subprocess
result = subprocess.run(['ping', '-c', '4', 'google.com'], capture_output=True, text=True)
print('命令输出:', result.stdout)

Q
Python执行系统命令时如何处理命令执行错误?

如果运行的系统命令失败了,Python中应该如何捕捉和处理错误?

A

通过异常处理捕获命令执行异常

在subprocess.run()中使用参数check=True,命令执行失败时会抛出subprocess.CalledProcessError异常。可以使用try-except结构捕获该异常,以便处理错误信息。例如:

import subprocess
try:
subprocess.run(['ls', '/nonexistentpath'], check=True)
except subprocess.CalledProcessError as e:
print('命令执行失败,错误码:', e.returncode)