📅  最后修改于: 2023-12-03 15:34:13.004000             🧑  作者: Mango
在 Python 中,我们可以使用 os
模块执行各种操作系统命令。os
模块提供了一些有用的函数,例如 os.system
、os.popen
、os.spawn*
等,用于执行命令、获取命令输出等。
我们可以使用 os.system
函数来执行操作系统命令,它会在命令完成后返回命令的退出状态码。
import os
# 执行 ls 命令
status = os.system('ls')
print(f'Command exited with status {status}.')
如果命令执行成功,status
将为 0,否则为非零值。
除了执行命令外,我们还可以使用 os.popen
函数来获取命令的输出。此函数将返回一个文件对象,您可以使用其 read
方法读取它的输出。
import os
# 获取 ls 命令的输出
output = os.popen('ls').read()
print(f'Command output: {output}')
Python 还提供了一个 subprocess
模块,可以更方便地执行命令和获取输出。使用该模块还可以更好地控制子进程的行为。
下面的示例演示如何使用 subprocess
模块执行操作系统命令。
import subprocess
# 执行 ls 命令,返回输出
result = subprocess.check_output(['ls'])
print(f'Command output: {result.decode("utf-8")}')
# 执行命令并捕获标准输出和标准错误
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(f'stdout: {result.stdout.decode("utf-8")}')
print(f'stderr: {result.stderr.decode("utf-8")}')
在以上示例中,我们通过 subprocess.check_output
来执行命令并直接返回输出,通过 subprocess.run
来执行命令并捕获标准输出和标准错误。
在 Python 中,使用 os
模块和 subprocess
模块可以方便地执行操作系统命令,并获取命令的输出。在选择使用哪个模块时,请考虑您需要执行的命令及其输入输出,并根据情况进行决策。