2017-10-01 53 views

回答

0

npy文件是包含數據類型(元數據)和形狀的標題,後面是數據本身。

標題以'\n'(換行符)字符結尾。因此,以追加模式打開第一個文件,然後在讀取模式下打開第二個文件,按readline()跳過標題,然後將第二個文件的塊(使用read(size))複製到第一個文件。

剩下的只有一件事:更新標題中的形狀(長度)字段。在這裏它有點棘手,因爲如果這兩個文件的形狀爲(700,)(400,),則新形狀需要爲(1300,),但在標題中可能沒有空格。這取決於原始頁眉中有多少個填充字符 - 有時您會有空間,有時您不會。如果沒有空間,則需要將新標題寫入新文件,然後從兩個源文件複製數據。儘管如此,這不會花費太多內存或時間,只需要一點額外的磁盤空間。

你可以在這裏看到讀取和寫入npy文件的代碼:https://github.com/numpy/numpy/blob/master/numpy/lib/format.py - 有一些未公開的函數,你可能會發現你的任務有用。

+0

很好的解釋! :)如果你分享代碼,這也會有幫助!謝謝! –

+0

我無法共享代碼,因爲我沒有它。你需要寫它。 –

相關問題