我在文件中放置了擱置字典'word_dictionary',我可以在主程序中訪問它。我需要讓用戶能夠將條目添加到字典中。但我無法保存在擱置字典中的條目,我得到的錯誤:更新寫在文件上的擱置字典
Traceback (most recent call last):
File "/Users/Jess/Documents/Python/Coursework/Coursework.py", line 16, in <module>
word_dictionary= dict(shelf['word_dictionary'])
TypeError: 'NoneType' object is not iterable
當代碼環回身邊 - 代碼工作在第一次運行。
這是這是爲了更新字典代碼:
shelf = shelve.open("word_list.dat")
shelf[(new_txt_file)] = new_text_list
shelf['word_dictionary'] = (shelf['word_dictionary']).update({(new_dictionary_name):(new_dictionary_name)})
#not updating
shelf.sync()
shelf.close()
這是更新不完整後不工作(我不認爲這是部分的代碼這個問題,但我可能是錯的)
shelf = shelve.open("word_list.dat")
shelf.sync()
word_dictionary= dict(shelf['word_dictionary'])
預先感謝您的幫助和耐心! UPDATE 這就是我所說的word_dictionary的代碼被導入的開始:
while True:
shelf = shelve.open("word_list.dat")
print('{}'.format(shelf['word_dictionary']))
word_dictionary= dict(shelf['word_dictionary'])
print(word_dictionary)
word_keys = list(word_dictionary.keys())
shelf.close()
這是原來的字典我要添加到如何坐:
shelf['word_dictionary'] = {'Hope Words': 'hope_words', 'Merry Words': 'merry_words', 'Amazement Words': 'amazement_words'}
我不知道你在裏面放入貨架'[「word_dictionary」]'?您似乎在第二個片段中將架子設置爲自身的價值。 – amirouche
這兩個片段都來自不同的.py文件,而不是帶有擱置列表的文件,然後我將其導入該文件。 在其被酸洗字典中的文件是: word_dictionary = {「希望詞」:「hope_words」,「風流詞」:「merry_words」,「驚愕詞」:「amazement_words」} 我設置word_dictionary到本身我不需要在代碼的其餘部分每次都參考貨架。這是我第一次使用貨架,所以請糾正我,如果這不是必要的! – Jess