Python中的Popen
是一个用于执行外部命令并和它进行交互的类。要实现进程间通信,可以使用Popen
中的communicate()
方法来向子进程发送数据并从子进程中读取输出。以下是一个简单的示例:
import subprocess
# 启动一个子进程并建立通信管道
p = subprocess.Popen(['cat'], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
# 向子进程发送数据
input_data = b'Hello, world!'
output_data, error = p.communicate(input=input_data)
# 从子进程中读取输出
print(output_data.decode())
在这个示例中,我们创建了一个子进程来运行cat
命令,然后向该进程发送了Hello, world!
数据,并从子进程中读取输出。通过communicate()
方法实现了进程间的通信。