📅  最后修改于: 2023-12-03 15:34:11.623000             🧑  作者: Mango
在 Python 中,我们可以使用 subprocess
模块来执行 shell 命令,并且获取它的输出结果。
最简单的方式是使用 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.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.run
函数的一个便捷函数,用于执行命令并返回输出结果,示例代码如下:
import subprocess
output = subprocess.check_output(['ls', '-l'])
print(output.decode('utf-8'))
上面的代码执行了 ls -l
命令,并且将输出结果存储在 output
中。
到此,我们就介绍完了 Python 中执行 shell 命令并获取输出的几种方法,开发者可以根据自己的需求和场景选择适合自己的方法。