2013-12-06 2 views
0

У меня есть этот код в функции, проходящая в переменных файлах, но я не могу понять, что форматировать список/словарь должен быть в.Python для цикла Предусмотренного формата структура данных

Всех мои попытки либо дать me Ошибка значения: слишком много значений для распаковки или чего-то похожего, когда я меняю его. я пытался филсов как:

{ 'а': 'filname'}

[ 'имя файла']

'имя_файла'

if files: 
     for key, filename, value in files: 
      content_type = self._get_content_type(filename) 
      body.write('--%s%s' % (FILE_BOUNDARY, CRLF)) 
      body.write('Content-Disposition: form-data;' + \ 
       ' name="%s"; filename="%s"%s' % (key, filename, CRLF)) 
      body.write('Content-Type: %s%s' % (content_type, CRLF)) 
      body.write(CRLF) 
      body.write(value) 
      body.write(CRLF) 

ответ

2

Поскольку существуют три имена на левой стороне, вам необходимо передать ему итерабельную последовательность из трех элементов.

[ 
    ('key1', 'filename1', 'value1'), 
    ... 
] 
0

файлы должны быть список кортежей

т.е.

files = [ 
     (key1,filename1,value1), 
     (key2,filename2,value2), 
     .... 
     ] 

Команда питон для Y в X означает для каждого элемента в последовательности X, Y = X [п]

, когда Y - Y1, Y2, Y3, означает, что у вас есть Y1, Y2, Y3 = X [n]. Python попытается распаковать X [n] до 3 значений, используя распаковку.

Смежные вопросы