更改导入模块的变量似乎不起作用。 [蟒蛇]
我想在python文件中创建一个单独的字典,因此我可以导入它并执行诸如搜索键,添加单词,删除单词等内容。 该文件是dictionary.py。 它包含:
#-*-coding:utf8-*-
dict={}
因此,当我将它导入到我的主python文件中时,添加一个单词并打印它,它可以正常工作,但dictionary.py文件不会受到影响。 我希望dictionary.py文件中的“dict”变量也可以更改。 这是我的主文件代码:
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]`
任何帮助? 谢谢
您不会在任何时候写入文件。 存储Python对象(如字典)的正确方法是使用pickle
:
import pickle
myDictionary = {}
dictionaryFile = open('dictionary', 'wb')
pickle.dump(mydictionary, dictionaryFile)
dictionaryFile.close()
这将创建一个叫做包含myDictionary
dictionary
的pickle文件
阅读字典:
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()
链接地址: http://www.djcxy.com/p/55079.html
上一篇: Changing variables of imported module doesnt seem to work. [Python]
下一篇: Replace the whole string if it contains specific letters/character