python将数组写入文件_python – 将numpy数组的大小写入二进制文件
我需要將2D numpy數組寫入文件,包括其尺寸,以便我可以從C程序中讀取它并創建相應的數組.
我已經編寫了一些保存數組的簡單代碼,可以從C中讀取,但如果我首先嘗試編寫數組的大小,它總會給我一個錯誤.
這是我的簡單python代碼:
1 file = open("V.bin","wb")
2 file.write(V.shape)
3 file.write(V)
4 file.close()
第二行給出錯誤,我也嘗試過:
n1, n2 = V.shape
file.write(n1)
file.write(n2)
但它也不起作用.
我正在添加它顯示的錯誤:
Traceback(最近一次調用最后一次):
file.write(V.shape [0])
TypeError:必須是字符串或緩沖區,而不是int
謝謝!
解決方法:
如果要將其保存為ascii,可以使用numpy.savetext.
或者(因為看起來你正在處理二進制數據),如果要保存原始數據流,可以使用ndarray.tostring來獲取可以直接轉儲到文件的字節字符串.
這種方法的優點是您可以創建自己的文件格式.缺點是您需要創建一個字符串才能將其實際寫入文件.
既然你說你在第二行遇到錯誤,那就是錯誤,因為f.write需要一個字符串.你試圖將它傳遞給元組或整數.您可以使用struct.pack來解決此問題:
f.write(struct.pack('2i',*array.shape))
標簽:python,file,binary,tuples,numpy
來源: https://codeday.me/bug/20190613/1231226.html
總結
以上是生活随笔為你收集整理的python将数组写入文件_python – 将numpy数组的大小写入二进制文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python网络爬虫系列(0)——爬虫概
- 下一篇: python dataframe 列_p