📜  python 执行 shell 命令并获取输出 - Python (1)

📅  最后修改于: 2023-12-03 15:34:11.623000             🧑  作者: Mango

Python 执行 shell 命令并获取输出

在 Python 中,我们可以使用 subprocess 模块来执行 shell 命令,并且获取它的输出结果。

使用 subprocess.run 函数执行命令

最简单的方式是使用 subprocess.run 函数执行命令,示例代码如下:

import subprocess

result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE)
print(result.stdout.decode('utf-8'))

上面的代码执行了 ls -l 命令,并且将输出结果存储在 result.stdout 中,我们可以使用 decode 方法将输出结果从 bytes 类型转换为字符串类型。

使用 subprocess.Popen 类执行命令

除了 subprocess.run 函数,还可以使用 subprocess.Popen 类执行命令,示例代码如下:

import subprocess

process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE)
output, error = process.communicate()
print(output.decode('utf-8'))

上面的代码执行了 ls -l 命令,并且将输出结果存储在 output 中,error 存储了该进程的错误输出。

使用 subprocess.check_output 函数执行命令

subprocess.check_output 函数是 subprocess.run 函数的一个便捷函数,用于执行命令并返回输出结果,示例代码如下:

import subprocess

output = subprocess.check_output(['ls', '-l'])
print(output.decode('utf-8'))

上面的代码执行了 ls -l 命令,并且将输出结果存储在 output 中。

总结

到此,我们就介绍完了 Python 中执行 shell 命令并获取输出的几种方法,开发者可以根据自己的需求和场景选择适合自己的方法。