我正在將一個二進制文件映射到具有自定義dtype的內存。我不喜歡這樣寫道:numpy memmap忽略EOF錯誤
np.memmap(filename=f, dtype=my_sample_dtype, mode='r')
有時,二進制文件的末尾砍掉,因爲寫的過程中它意外結束。在這種情況下,numpy的抱怨:
ValueError: Size of available data is not a multiple of the data-type size.
現在我可以截斷磁盤上的文件,使其數據類型大小的倍數,但我想,不需要觸摸原始文件的解決方案。我可以告訴numpy忽略文件末尾的不完整元素嗎?
爲什麼你不想修改磁盤上的文件來修復它?任何修復寫入損壞記錄的程序的機會? –
文件每個都有幾GB,並存儲在只讀位置。另一個程序由於電源故障停止寫入,所以它不是bug。該軟件需要對這種失敗具有強大的功能。 – rudolfbyker
你知道數組應該是什麼形狀(至少'dims-1')嗎? –