3
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...}

関数が達成すると私が考えたのは、辞書でエントリを見つけ、頭字語とそれに関連するテキストの両方を削除してから、頭字語とテキストが変更されたものを追加することです。たとえば、エントリがあり、それを関数によって返されるものTEST: testに変更したい場合に何が起こるかは、ファイルを上書きした (と思った) にもかかわらず、変更されたテキストを追加することです。TEXT: abcTEXT: testabc

私は何を間違っていますか?

4

1 に答える 1