繁体   English   中英

如何使用sys.stdout返回任何对象

[英]How to return any object with sys.stdout

我正在使用python bash脚本,因此我希望将第一个文件的列表输出到下一个文件:

sender.py

#!/usr/bin/env python
import sys
l = [1,2,4,6,8,"maybe some text"]
sys.stdout.write(Qs)
sys.stdout.flush()

receiver.py

#!/usr/bin/env python
import sys
print(sys.stdin.readline())

然后做bash

./sender_py | ./receiver

我知道问题是此方法只能读取字符串,但是还有其他任何方法可以传递任何对象。 在这种情况下,我要传递一个列表,但是稍后我想尝试其他对象,例如pandas dfs。

您可以对pickle使用数据序列化:

sender.py

#!/usr/bin/env python
import sys
import pickle
l = [1,2,4,6,8,"maybe some text"]
sys.stdout.buffer.write(pickle.dumps(l))

receiver.py

#!/usr/bin/env python
import sys
import pickle
print(pickle.loads(sys.stdin.buffer.read()))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM