我有上面列出的錯誤,但一直無法找到它的含義。我是numpy和它的{.frombuffer()}命令的新手。其中該錯誤觸發的代碼是:numpy.frombuffer ValueError:緩衝區小於請求的大小
ARRAY_1=400000004
fid=open(fn,'rb')
fid.seek(w+x+y+z) #w+x+y+z=
if(condition==0):
b=fid.read(struct.calcsize(fmt+str(ARRAY_1)+'b'))
myClass.y = numpy.frombuffer(b,'b',struct.calcsize(fmt+str(ARRAY_1)+'b'))
else:
b=fid.read(struct.calcsize(fmt+str(ARRAY_1)+'h'))
myClass.y = numpy.frombuffer(b,'h',struct.calcsize(fmt+str(ARRAY_1)+'h')) #error this line
其中FMT是 '>',其中條件== 0和 '<',其中條件!= 0。這正在改變二進制文件的讀取方式,大端或小端。 fid是一個已經打開的二進制文件。
調試到這一點,條件= 1,所以我有一種感覺,如果條件的最後一個語句也有錯誤,我現在只是看不到它。
正如我之前所說,我試圖找出錯誤的含義,但沒有任何運氣。如果有人知道它爲什麼會出現在我身上,我真的很喜歡這個幫助。
你可以發佈更多的代碼嗎?如果我們知道二進制文件如何存儲到'fid',以及設置了「ARRAY_1」,那麼我認爲這會有所幫助。 – Frangipanes
@Frangipanes我按照你的要求添加了更多的代碼,但我不確定它會有多大的幫助。 – SanticL
您是否也可以包含您的進口產品,以便我們也瞭解您使用的模塊? – Frangipanes