我正在用一段時間的True循環抓取一個網站,然後用np.savez將所有的數據保存到一個文件中。我想處理npz文件,但文件更新速度比我能複製的速度快。這裏是我的代碼:用Python在np.save中編寫一個大文件while while True Loop
while True:
time.sleep(1.5)
for post in new:
all_posts.append(post)
np.savez('records.npz', posts)
new = other_site.get_next()
最初來處理我刮我只是將文件複製到的數據,但現在的文件太大,它被損壞每次。我可以從一開始就重新啓動這個過程,並且保存次數少,這樣我就可以有更多時間進行復制,但是我想知道是否有辦法恢復我寫的數據。我的另一個想法是截斷文件的末尾,使它看起來像一個npz文件,python可以讀取它,但我不知道這是否可能。
'.npz'文件只是'.npy'文件的壓縮文件,因此您可以使用任何zip實用程序處理文件。你問是否有辦法挽救你創建的數據?我不清楚你的問題在哪裏。 –
如果您嘗試恢復截斷的文件,請嘗試'zip -FF --out repaired_file.npz'。您可能丟失了一些數據,但可能能夠恢復大部分數據。 –