def replace_acronym(): # function not yet implemented
#FIND
for abbr, text in acronyms.items():
if abbr == acronym_edit.get():
textadd.insert(0,text)
#DELETE
name = acronym_edit.get().upper()
name.upper()
r =dict(acronyms)
del r[name]
with open('acronym_dict.py','w')as outfile:
outfile.write(str(r))
outfile.close() # uneccessary explicit closure since used with...
message ='{0} {1} {2} \n '.format('Removed', name,'with its text from the database.')
display.insert('0.0',message)
#ADD
abbr_in = acronym_edit.get()
text_in = add_expansion.get()
acronyms[abbr_in] = text_in
# write amended dictionary
with open('acronym_dict.py','w')as outfile:
outfile.write(str(acronyms))
outfile.close()
message ='{0} {1}:{2}{3}\n '.format('Modified entry', abbr_in,text_in, 'added')
display.insert('0.0',message)
我想添加在我的tkinter小部件中编辑我的字典条目的功能。字典的格式是{ACRONYM: text, ACRONYM2: text2...}
Python字典编辑条目
我认为该功能将实现的目的是在字典中找到条目,删除首字母缩写词及其相关文本,然后添加任何首字母缩写词和文本已被更改。例如,如果我有条目TEST: test
并且我想将其修改为TEXT: abc
,则函数返回的内容是TEXT: testabc
- 追加已更改的文本,尽管我有(我认为)覆盖了该文件。
我在做什么错?
outfile.close()是多余的。 '与'已经处理了。 – Elazar 2013-05-09 13:21:09
请注意,您可以使用'if acronym_edit.get()in acronyms:'而不是循环''acronyms'中的所有项来更有效地测试字典中是否存在键。 – 2013-05-09 13:40:08
首先删除密钥也是多余的;只需使用'acronyms [abbr_in] = text_in'将相同的键设置为新值;这将取代旧的价值。 – 2013-05-09 13:41:26