2016-02-07 55 views
0

我經常使用H5py編寫5 GB的NumPy ndarray光盤。如果在寫入過程中關閉文件,它會被損壞。我有沒有辦法告訴程序:「如果有人結束了你的程序,等到你先完成文件」?或者,在這種情況下,我可以恢復到以前的文件嗎?防止程序在文件寫入期間存在

+3

存儲在臨時文件中,成功後重命名它? –

+0

我想我可以做到這一點,如果我想使用10 GB而不是5 GB ...在16 GB的RAM會導致任何問題? –

+0

我不明白爲什麼RAM很重要,或者爲什麼它會是臨時文件的問題,如果它不是真正的文件。 (然後,我對H5py一無所知。) –

回答

0
try: 
    #do stuff 
finally: 
    #save stuff 

可能允許您捕獲應用程序退出前已處理的內容嗎?

+0

我想我已經在說明你在說什麼了 - 我有一個進度文件,只有在保存後才更新進度文件。問題是主文件的保存過程需要50秒左右,如果我在保存過程中退出,文件不能再次加載。 (並且將小於5 GB的大小) –

+0

當你說:「文件不能再次加載」時,你是指進度文件嗎?當你更新進度文件時,它是已處理數據的累積還是隻包含來自單個應用程序運行的一個「數據轉儲」? – Logic1

相關問題