2013-10-10 125 views
-5

im將文本文件存儲到python字典中,對文本文件進行更改。將python字典寫入文本文件python

im面臨的問題是將字典內容更新到文本文件。

代碼讀取文本文件:

with open ('wvtc_data.txt','r')as x: 
     for line in x: 
      line = line.rstrip ('\n') 
      items = line.split (':') 
      key,value = items[0], items[1:] 
      main_dic[key] = value 
      choice=0 
      while choice != QUIT: 
        choice = get_menu_choice() 
        if choice==DISPLAY: 
         display(main_dic) 
        elif choice==CHANGE: 
         change(main_dic) 
        elif choice== REMOVE: 
         remove (main_dic) 
        elif choice==WRITE: 
         write(main_dic) 

我需要寫功能(最後一個)來更新到字典中所做的更改文本文件 請幫幫忙!

+0

最簡單的方法是在讀取數據後簡單地關閉文件,並在寫入方法中完全覆蓋文件。除了一些特殊情況外,更新文件的一部分相當複雜。 – l4mpi

+0

剛剛回答完全相同的問題:http://stackoverflow.com/a/19295788/989121 – georg

+1

@ thg435這是如何'完全相同的問題'?你的答案涉及編寫JSON,這可能不是OP想要的... – l4mpi

回答

2

如果你想保留現有的格式,不管出於什麼原因,那就試試這個:

with open ('wvtc_data.txt', 'w') as fp: 
    for p in main_dic.items(): 
     fp.write("%s:%s\n" % p) 

注意,這不保留鍵的順序。另外,在大多數情況下,使用標準格式進行序列化要好得多。