2015-08-28 81 views
0

我目前運行在以下形式的工作流程的一個項目:的Python:存儲對象列表外部

的輸入經過一個緩慢的(程序運行時間的95%)處理,以形成輸出列表(data)。然後在列表上執行快速操作以創建最終輸出。

有沒有我可以在外部存儲data我python腳本,這樣我可以一次,然後審判的最後階段運行緩慢的過程(讀data而不是重新組裝)一個明智的方法是什麼?

編輯:考慮導出爲'簡單'格式(MS Excel/MySQL),這被證明是無益的,因爲字符串都過長並且包含特殊字符。

+0

是的,有與Python堅持數據的許多方面 - 你嘗試過什麼,和什麼它是什麼問題? – jonrsharpe

+1

寫入文件?將它存儲在數據庫中?泡菜呢?在解釋器中運行你的「慢」代碼,然後處理解釋器在內存中仍然存在的對象?是的,當然有很多方法可以做到這一點。你在問什麼? –

+1

你的意思是像一個文件?看看'pickle' – corn3lius

回答

1

所以它看起來pickle是我正在尋找的(感謝corn3lius和雙位煉金術士的評論)。

一個簡單的例子(從https://wiki.python.org/moin/UsingPickle轉載):

# Save a dictionary into a pickle file. 
import pickle 
favorite_color = { "lion": "yellow", "kitty": "red" } 
pickle.dump(favorite_color, open("save.p", "wb")) 

# Load the dictionary back from the pickle file. 
import pickle 

favorite_color = pickle.load(open("save.p", "rb")) 
# favorite_color is now { "lion": "yellow", "kitty": "red" }` 
+1

只要你記住不拆卸是不安全的;有幾種適合使用的純文本序列化格式。 –