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

我正在处理一个 python bash 脚本,我想输出一个从第一个文件到下一个文件的列表,如下所示:


发件人.py

#!/usr/bin/env python

import sys

l = [1,2,4,6,8,"maybe some text"]

sys.stdout.write(Qs)

sys.stdout.flush()

接收器.py

#!/usr/bin/env python

import sys

print(sys.stdin.readline())

然后在 bash 中做

./sender_py | ./receiver

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


动漫人物
浏览 165回答 1
1回答

鸿蒙传说

您可以将数据序列化与pickle 一起使用:发件人.py#!/usr/bin/env pythonimport sysimport picklel = [1,2,4,6,8,"maybe some text"]sys.stdout.buffer.write(pickle.dumps(l))接收器.py#!/usr/bin/env pythonimport sysimport pickleprint(pickle.loads(sys.stdin.buffer.read()))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python