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

仿拉兹温

我正在尝试在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()

这将创建一个名为的泡菜文件dictionary,其中包含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()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档