python

python subprocess怎样获取输入输出

小樊
81
2024-11-16 16:11:43
栏目: 编程语言

在Python中,你可以使用subprocess模块来运行外部命令并与其进行交互

import subprocess

# 运行外部命令,设置stdin为subprocess.PIPE,stdout为subprocess.PIPE,stderr为subprocess.PIPE
# 这将允许我们在命令执行过程中与其进行交互
cmd = "your_command_here"
process = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 向命令的stdin发送数据
input_data = "your_input_data_here"
process.stdin.write(input_data)
process.stdin.flush()

# 获取命令的输出和错误信息
output, error = process.communicate()

# 等待命令执行完成
process.wait()

print("Output:", output)
print("Error:", error)

请将your_command_here替换为你要运行的外部命令,将your_input_data_here替换为你要发送给命令的输入数据。communicate()方法将返回一个包含命令输出和错误信息的元组。注意,我们使用了text=True参数来确保输出以文本形式返回,而不是字节形式。

0
看了该问题的人还看了