从文件中读取未格式化的名称/值对,对其进行格式化,然后在Python 2字典中将其打印出来

时间:2015-06-12 20:16:42

标签: python python-2.7 dictionary io

给出像这样的文本文件

# Name_value_pair.txt
name1 = value1
name2 = value2
name3 = "some value3"
name4=value4
name5=
name6

是否可以读取该文件,将其格式化为字典并使用python将其打印出来?

我知道如何打开和阅读文件,但我不知道是否有可能过滤掉可怕的格式,以便将其变成适合制作字典的形式?

编辑:似乎ConfigParser模块更适合我想要完成的工作。

1 个答案:

答案 0 :(得分:1)

这将忽略任何没有'='的行,然后从其余行中删除每个键和值外部的任何引号和空格,然后将其放入一个字典:

data = {}

with open('in.txt', 'r') as fh:
    for line in fh:
        if '=' not in line:
            continue
        line = line.replace('"', '')
        data[(line.split('='))[0].strip()] = (line.split('='))[1].strip()

for k, v in data.items():
    print("{}: {}".format(k, v))

输出:

name1: value1
name2: value2
name3: some value3
name4: value4
name5: