[英]Pipe numpy data in Linux?
是否可以將numpy數據(從一個python腳本)傳遞到另一個?
假設script1.py
看起來像這樣:
x = np.zeros(3, dtype={'names':['col1', 'col2'], 'formats':['i4','f4']})
print x
假設我從linux命令運行以下命令:
python script1.py | script2.py
將script2.py
獲取管道的numpy數據作為輸入(stdin)嗎? 數據仍將使用相同的numpy格式嗎? (這樣,我可以例如從script2.py
對其執行numpy操作)?
查看save
和load
功能。 我不認為他們會反對通過管道而不是文件。
不,數據以文本形式通過管道傳遞。 您需要在寫入之前對script1.py
的數據進行序列化,並在script2.py
之后在script2.py
其反序列化。
看到這個問題 。
如果您願意使用subprocess
進程模塊,則可以在進程之間共享內存以快速傳遞numpy數組。 如果不是這樣,我發現保存到文件會使管道工作不盡人意,這可能是因為將數組轉換為字符串太慢了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.