python

python外部命令如何处理输出结果

小樊
81
2024-12-12 02:53:39
栏目: 编程语言

在Python中,你可以使用subprocess模块来执行外部命令并处理其输出结果

import subprocess

# 执行外部命令
command = "echo 'Hello, World!'"
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)

# 获取命令的输出结果
stdout, stderr = process.communicate()

# 将输出结果从字节转换为字符串
stdout_str = stdout.decode('utf-8')
stderr_str = stderr.decode('utf-8')

print("Output:", stdout_str)
print("Error:", stderr_str)

# 等待命令执行完成
return_code = process.wait()
print("Return code:", return_code)

在这个示例中,我们使用subprocess.Popen执行了一个简单的echo命令。stdoutstderr参数分别用于捕获命令的标准输出和标准错误输出。shell=True表示我们在一个shell环境中执行这个命令。

process.communicate()方法用于等待命令执行完成并获取输出结果。这个方法返回一个包含标准输出和标准错误输出的元组。我们可以使用decode()方法将输出结果从字节转换为字符串。

最后,我们使用process.wait()方法等待命令执行完成并获取返回代码。

0
看了该问题的人还看了