如何将文件制作成字典

时间:2017-06-06 02:51:14

标签: file dictionary python-3.6

代码中打开了两个不同的文件。 1.'file.txt'文件如下所示:

33,80,71,180
280,80,260,45,240,80
200,100,119,41,150,136,181,41,100,100
75,50,87,28,75,6,50,6,37,28,49,50

'colours.txt'文件如下所示:

2:red
3:orange
5:yellow
6:green

我目前的代码如下:

def create_colours_dictionary(filename):
    colour_dict = {}
    file = open('colours.txt', "r")
    for line in file:
            (key, value) = line.split(":")
            colour_dict[int(key.strip())] = value.strip()
    file.close()
    return colour_dict

def read_coordinates(filename, shapes_dict):
    file = open('file.txt', 'r')
    file_dict = {}
    for line in file:
            (value) = line.split()
            file_dict[line] = [value]

    print('')

def main():
    colours_dict = create_colours_dictionary('colours.txt')
    print(colours_dict)

    shapes_dict = {}
    for key in colours_dict.keys():
        shapes_dict[key] = []   
    for filename in filenames_list:
        read_coordinates(filename, shapes_dict)
    print(shapes_dict)

main()

我对输出的期望是:

{2: 'red', 3: 'orange', 5: 'yellow', 6: 'green'}

{2: [['33', '80', '71', '180']], 3: [['280', '80', '260', '45', '240', '80']],
5: [['200', '100', '119', '41', '150', '136', '181', '41', '100', '100']],
6: [['75', '50', '87', '28', '75', '6', '50', '6', '37', '28', '49', '50']]}

如何获得第二部分的正确输出?

谢谢S!

1 个答案:

答案 0 :(得分:0)

你期望你的第二本词典的密钥是什么?您的示例输出显示与颜色字典相同的键。我猜你真的想要行号(假设从'1'开始)是关键?

另外,为什么你希望你的值是列表列表而不仅仅是提供的数字列表?