我正在处理python bash脚本,因此我希望将第一个文件的列表输出到下一个文件:
#!/usr/bin/env python
import sys
l = [1,2,4,6,8,"maybe some text"]
sys.stdout.write(Qs)
sys.stdout.flush()
#!/usr/bin/env python
import sys
print(sys.stdin.readline())
./sender_py | ./receiver
我知道问题是该方法只能读取字符串,但是还有其他任何方式可以传递任何对象。在这种情况下,我要传递一个列表,但是稍后我想尝试其他对象,例如pandas dfs。
答案 0 :(得分:2)
您可以通过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()))