我如何从文本文件中获取信息并将其放入字典(Python)

问题描述:

我构建了一个将信息存储到txt文件的以前的程序(是的,我应该使用一个Db,但还没有很好地学习它)无论如何,我想要做的是有一个函数或方法,从文件中提取该信息,并将其存储到字典,所有可能更新文本文件/字典,如果需要改变我如何从文本文件中获取信息并将其放入字典(Python)

txt文件在这个格式

名称:李四

编号:2485555555

城市:罗斯维尔

采取这一信息并存入像这样:

朋友= { '名称:', '李四', '民:', '2485555555', '市:', “罗斯维尔”}

我想我必须使用分割方法,无论哪种方式,我知道这是不是这样做最实用的方式,但不管在学习如何做到这一点可以帮助上下行

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