簡體   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