2011-04-26 50 views
1

我構建了一個將信息存儲到txt文件的以前的程序(是的,我應該使用一個Db,但還沒有很好地學習它)無論如何,我想要做的是有一個函數或方法,從文件中提取該信息,並將其存儲到字典,所有可能更新文本文件/字典,如果需要改變我如何從文本文件中獲取信息並將其放入字典(Python)

txt文件在這個格式

名稱:李四

編號:2485555555

城市:羅斯維爾

採取這一信息並存入像這樣:

朋友= { '名稱:', '李四', '民:', '2485555555', '市:', 「羅斯維爾」}

我想我必須使用分割方法,無論哪種方式,我知道這是不是這樣做最實用的方式,但不管在學習如何做到這一點可以幫助上下行

回答

1
friend = dict(line.split(":", 1) for line in open("file")) 

這會拆分第一個冒號的每一行以獲得一系列(鍵,值)對,並使用這個序列來初始化字典。

允許使用空線在你的文件,你可以使用

friend = dict(line.split(":", 1) for line in open("file") if line.strip()) 
+0

感謝,u能解釋一下這是什麼邏輯是說讓我明白了它的前進和什麼是1?... – Isov5 2011-04-26 18:24:40

+0

@ Isov5:我添加了一個簡短的解釋。 '1'意思是隻在第一個冒號時分裂。如果每一行只有一個冒號,它沒有任何區別。 – 2011-04-26 18:32:05

+0

「python split」的google顯示爲http://docs.python.org/library/stdtypes.html#str.split。一個是最大分割數。這意味着該行中的第一個冒號必須將鍵與值分開,但其他冒號將被忽略。 – Wilduck 2011-04-26 18:32:36

相關問題