sha*_*kin 1 python windows pipe
在Windows命令行考虑这个.
scriptA.py | scriptB.py
Run Code Online (Sandbox Code Playgroud)
我想通过pickle将scriptA.py中的字典对象发送到scriptB.py:将它发送到管道上.但我不知道如何做到这一点.
我在这里读过一些关于这个主题的帖子,但通常会有这样的答案:
Popen( "scriptA.py"´, ..., and so on )
Run Code Online (Sandbox Code Playgroud)
但我实际上并不知道"scriptA.py"的名称.我只想抓住ready管道对象并发送/接收数据缓冲区.
我已经尝试过sys.stdout/stdout,但是我得到了文件描述符错误,并且基本上没有尝试过那个轨道.
过程很简单:
scriptA.py:
scriptB.py
当你对shell说这个
scriptA.py | scriptB.py
Run Code Online (Sandbox Code Playgroud)
shell将它们与管道连接起来.你没有任何东西,它完美无缺.
一切都scriptA.py
写入sys.stdout来进入scriptB.py
scriptB.py
从sys.stdin读取的所有内容都来自scriptA.py
他们已经联系了.
那么,如何将字典从A中的stdout传递到B中的stdin?
泡菜. scriptA.py
将字典转储到stdout. scriptB.py
从stdin加载字典.
JSON. scriptA.py
将字典转储到stdout. scriptB.py
从stdin加载字典.
这已经内置到Python中并且需要非常非常少的代码.
在scriptA中,json.dump( {}, sys.stdout )
或pickle.dump( {}, sys.stdout )
在scriptB中,json.load( sys.stdin )
或pickle.load( sys.stdin )