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()
方法實現了進程間的通信。