2014-03-13 103 views
0

我试图做一个字典是这样的:Python的字典追加

d = { 'id' : counter, 'file': [ {'name': filename, 'uri' : 'http://localhost:8000/uploads/' + filename, 'path' : os.path.join(dirname, filename) } ] } 

因此,大家可以看到,我试图做一个字典,一个ID和一个文件。 在文件中,我想'保存'文件本身的信息,如名称,URI,路径等......我现在遇到的问题是,我从这本字典中得到的值是最后一个。 所以我猜测我需要使用某种附件。但我不知道如何做到这一点?

感谢您的阅读和帮助!

亲切的问候,格伦

+0

你可以把一个文件的每'id'映射到这个'D'字典 – Jae

回答

3

使词典

列表
# Create an empty list at the beginning 
list_of_dicts = [] 

# Then, for each dict you create... 
d = { 'id' : counter, 
     'file': [ {'name': filename, 
       'uri' : 'http://localhost:8000/uploads/' + filename, 
       'path' : os.path.join(dirname, filename) } ] } 
# ... add it to your list 
list_of_dicts.append(d) 

UPDATE:

我错过了你有你的字典中的列表。如果要追加到列表,而不是,那么就由'file'键从字典获取列表:

# The dict, with the first file 
d = { 'id' : counter, 
     'file': [ {'name': filename, 
       'uri' : 'http://localhost:8000/uploads/' + filename, 
       'path' : os.path.join(dirname, filename) } ] } 

# Then append all files you want to the list found in d['file'] 
d['file'].append({'name': some_other_filename, 
        'uri': some_other_uri, 
        'path': some_other_path}) 
+0

的字典哦,我的,不认为这是这么简单...我现在有点觉得愚蠢......非常感谢您的快速和正确的答案! 我正在使用for循环来填充一个更大的词典,它使用一个ID来分隔不同的文件。 –

+0

不客气:-) –