将字典放入列表中

时间:2018-06-05 21:57:53

标签: python list file dictionary

我的代码应该是:

  1. 读取文件名并将其保存到列表
  2. 打开此文件并将内容保存到列表中。
  3. 例如:

    list=['filename1','filename2','filename3']
    

    然后:'filename1' - 应该是包含其所有内容的字典。文件如下:
    'abc' '123'
    'cde' '456'

    如何正确地将字典放入列表中,所以我可以 用list[0]等称呼它。

    我的代码是:

    def getServerVersion(dirpath):
        global dictname
        dicktlist = os.listdir(path)
        arr_len = len(dictname)
        for i in range(arr_len):
            dictvalue = []
            str = ''.join(dirpath) + dictname[i]
            with open(str) as f:
                 dictvalue[i]=dict(x.rstrip().split(None, 1) for x in f)
        print(dicktlist)
    

    而不是它给我的列表[{key:value},{key:value}]。所以我需要这个列表来存储对象。怎么做?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你从一个文件名列表开始,并希望得到一个字典列表,其中对于列表中的每个字典都有一个对应于文件名的键,其值是相关联的内容文件。如果这是正确的,那么一种方法就是以这种方式处理它:

filenames = ["file1.txt", "file2.txt", "file3.txt"]

filecontents = []

for a_filename in filenames:
    with open(a_filename) as f:
        contents = f.read()
    filecontents.append({filename: contents})