請在windows命令行中考慮這一點。使用管道在兩個匿名python腳本之間進行數據通信
scriptA.py | scriptB.py
我想通過pickle發送一個字典對象從scriptA.py到scriptB.py,並通過管道發送它。但我不知道如何做到這一點。
我讀過關於這個問題在這裏的一些帖子,但通常有沿着這些線路的答案:
Popen("scriptA.py"´, ..., and so on)
但我真的不知道「scriptA.py」的名稱。我只想掌握準備好的管道對象併發送/接收databuffer。
我試過sys.stdout /標準輸出,但我得到文件描述符錯誤,基本上還沒有嘗試過這個賽道很遠。
的過程很簡單:
scriptA.py:
- (1)味酸/串行字典成的StringBuffer
- (2)發送的StringBuffer超過管
scriptB。 py
- (3)從管
- (4)Unpickle /反序列化StringBuffer接受的StringBuffer到字典
如果他在Windows上並且Python正被「文件關聯」(a.py | b.py)調用,而不是直接引用Python可執行文件(python a.py | python b.y)或例如(\ python26 \ python a.py | \ python26 \ python) - 就像他說的,你會得到關於「無效文件描述符」的黑暗嘟mut;它是Windows cmd.exe中長期存在的錯誤。另一位提問者幾分鐘前才提出這個問題。 – 2009-06-29 11:15:56