我正在处理一个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
我知道问题是这个方法只能读取一个字符串,但是有没有其他方法可以传递任何对象。在这种情况下,我传递了一个列表,但稍后我想尝试其他对象,例如熊猫 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()))