我正在尝试在python文件中创建一个单独的字典,所以我可以导入它并执行诸如搜索键,添加单词,删除单词等内容。该文件是dictionary.py。它包含:
#-*-coding:utf8-*-
dict={}
因此,当我在我的主python文件中导入它时,添加一个单词并打印它,它工作正常,但是dictionary.py文件不会受到影响。我想要" dict"在dictionary.py文件中的变量也要改变。这是我的主文件代码:
import os
import sys
import dictionary as tdict
print ":::::::::::::::::::"
print "Add word"
print ":::::::::::::::::::"
name=raw_input("Word: ")
print
mean=raw_input ("Meaning: ")
tdict.dict[name]=mean
print "::::Word added::::"
print
print "::::::::::::::::::::::"
print "Dictionary:"
print
for x in tdict.dict:
print "",x,":",tdict.dict[x]`
有任何帮助吗? THX
答案 0 :(得分:0)
您不是在任何时候写入文件。存储python对象(如字典)的正确方法是使用pickle
:
import pickle
myDictionary = {}
dictionaryFile = open('dictionary', 'wb')
pickle.dump(mydictionary, dictionaryFile)
dictionaryFile.close()
这将创建一个名为dictionary
的pickle文件,其中包含myDictionary
阅读字典:
import pickle
dictionaryFile = open('dictionary', 'rb')
myDictionary = pickle.load(dictionaryFile)
dictionaryFile.close()
然后,您可以对字典进行任何更改,然后再将其保存到文件中:
import pickle
dictionaryFile = open('dictionary', 'rb')
myDictionary = pickle.load(dictionaryFile)
dictionaryFile.close()
myDictionary['key1'] = 'value1'
dictionaryFile = open('dictionary', 'wb')
pickle.dump(mydictionary, dictionaryFile)
dictionaryFile.close()