このコードの改善に協力してください - パイプを介した IPC。文字列pickle.dumps(data)には記号"\()"が含まれる可能性があるため、 use function replace("\n", "\()")は安全ではないと思います。賢明な方法はありますか?
メインモジュール:
import subprocess, pickle
data=["A","B","C"]
data = pickle.dumps(data).replace("\n", "\\()")
p=subprocess.Popen(["python", "server.py"],stdin = subprocess.PIPE, stdout= subprocess.PIPE, stderr= subprocess.PIPE)
stdout, stderr = p.communicate(input=data)
print stdout
サーバー.py:
import pickle,sys
s=sys.stdin.readline()
data = pickle.loads(s.replace("\\()", "\n"))
sys.stdout.write(str(data))