我正在研究一個程序,我需要從另一個文件訪問一個dicionary,我知道該怎麼做。我還需要能夠追加同一個字典並將其保存在其目前的形式到另一個文件。Python:在另一個文件中附加字典
有沒有辦法做到這一點?
編輯:
程序需要您登錄您可以創建一個帳戶,當你做到這一點需要保存用戶名:您輸入到字典密碼。按照我的方式,您可以創建一個帳戶,但是一旦您退出該程序,該帳戶就會被刪除。
我正在研究一個程序,我需要從另一個文件訪問一個dicionary,我知道該怎麼做。我還需要能夠追加同一個字典並將其保存在其目前的形式到另一個文件。Python:在另一個文件中附加字典
有沒有辦法做到這一點?
編輯:
程序需要您登錄您可以創建一個帳戶,當你做到這一點需要保存用戶名:您輸入到字典密碼。按照我的方式,您可以創建一個帳戶,但是一旦您退出該程序,該帳戶就會被刪除。
您可以在Python中使用pickle模塊存儲和檢索數據結構,該模塊提供對象序列化。
保存字典
import pickle
some_dict = {'this':1,'is':2,'an':3,'example':4}
with open('saved_dict.pkl','w') as pickle_out:
pickle.dump(some_dict,pickle_out)
裝入字典
with open('saved_dict.pkl.'r') as pickle_in:
that_dict_again = pickle.load(pickle_in)
我試過這個:self.accounts = pickle.load(open('logins.pkl','rb'))它給了我這個錯誤: FileNotFoundError:[Errno 2]沒有這樣的文件或目錄:'logins.p'我不知道爲什麼,因爲它在IDLE中工作 – user2155059
相對於您正在運行的腳本,logins.pkl文件是否位於正確的位置? – FMcC
你是什麼意思?在同一個文件夾中? – user2155059
你是什麼意思與 「保存到另一個文件」? 'dict1.update(** dict2)'不夠嗎?你真的想序列化字典並將其保存到文件?請詳細說明。 – Ludo
@Ludo'dict1.update(** dict2)'完全沒用,效率低下,可能會導致帶有足夠大的字典的堆棧溢出,並依賴於可能阻止其在將來工作的實現細節。你*應該*做簡單的'dict1.update(dict2)'。 – Bakuriu
@Bakuriu你有沒有參考該聲明? – Ludo