2 つの Python プロセス間の通信に信頼できる Python コードが必要です。私はパイプを使用するそのようなコードを書きました。しかし、私はいくつかの疑問を持っています。短所は何ですか?他の方法はありますか?
メインモジュール:
import subprocess, pickle
data=["A","B","C"]
s = pickle.dumps(data)
se=s.encode("string_escape") # produce a string that is suitable as string literal in Python source code
p=subprocess.Popen(["python", "server.py"],stdin = subprocess.PIPE, stdout= subprocess.PIPE, stderr= subprocess.PIPE)
stdout, stderr = p.communicate(input=se)
s2=stdout.decode("string_escape")
data = pickle.loads(s2)
print data
サーバー.py:
import pickle,sys
s=sys.stdin.read().decode("string_escape")
data = pickle.loads(s)
s=pickle.dumps(data)
se=s.encode("string_escape")
sys.stdout.write(se)