我有一個程序輸出一些我想存儲以便稍後使用的列表。例如,假設它輸出學生姓名列表和他們的中期分數的另一個列表。我可以存儲這個輸出在以下兩個方面:Pickle vs輸出到Python中的文件
標準文件輸出方式:
newFile = open('trialWrite1.py','w')
newFile.write(str(firstNames))
newFile.write(str(midterm1Scores))
newFile.close()
鹹菜方式:
newFile = open('trialWrite2.txt','w')
cPickle.dump(firstNames, newFile)
cPickle.dump(midterm1Scores, newFile)
newFile.close()
哪種技術更好地或首選?使用一個優勢是否有優勢?
感謝
'pickle'並沒有像你想象的那樣精確地調用函數和類 - (http://docs.python.org/library/pickle.html#what-can-be-pickled-and-unpickled)「注意那些函數(內置的和用戶定義的)被「完全限定的」名稱引用醃製,而不是由值......「在這種情況下,持久性依賴於穩定的模塊層次結構和接口,因爲取消環境必須與酸洗環境相匹配。 – 2010-08-27 22:09:54
感謝您的回覆。我會按照David的建議寫字符串表示或使用CSV。 – Curious2learn 2010-08-28 00:43:00
@Jeremy:我沒有意識到'pickle'不喜歡用戶定義的函數 - 謝謝! – katrielalex 2010-08-28 00:48:25