更改导入模块的变量似乎不起作用。 [蟒蛇]

我想在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