在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
命令。stdout
和stderr
参数分别用于捕获命令的标准输出和标准错误输出。shell=True
表示我们在一个shell环境中执行这个命令。
process.communicate()
方法用于等待命令执行完成并获取输出结果。这个方法返回一个包含标准输出和标准错误输出的元组。我们可以使用decode()
方法将输出结果从字节转换为字符串。
最后,我们使用process.wait()
方法等待命令执行完成并获取返回代码。