Форматирование списка в Jinja2 с разрывами строк и флажками

Я использую следующий код, чтобы получить список файлов и вернуть список с разрывами строк между каждым элементом. Что я пытаюсь сделать, так это добавить флажок к каждому элементу, но string.join допускает только 2 аргумента.

Вот что я пробовал, что приводит к ошибке TypeError: join() takes at most 2 arguments (3 given):

listfiles = os.listdir('my_path')
col_list = string.join('<input type="checkbox" />', listfiles, '</br>')

Как мне отформатировать список файлов, чтобы в каждой строке был флажок, а также разрыв строки? Спасибо!


person Dryden Long    schedule 15.11.2012    source источник
comment
Также, пожалуйста, рассмотрите другое название — оно действительно имеет мало общего с тем, что вы пытаетесь сделать, и больше связано с тем, как вы пытаетесь это сделать.   -  person Iguananaut    schedule 16.11.2012


Ответы (1)


Это урок по чтению сообщений об ошибках. Некоторые из них загадочны, и по понятным причинам за ними трудно следить. Это довольно ясно: вы передаете три аргумента функции, которая принимает только два. Вы всегда можете просмотреть документацию по функциям и методам стандартной библиотеки в документации Python или на командную строку, используя функцию help() для любого объекта. Например help(string.join).

Однако не используйте для этого модуль string, так как его использование устарело. Строки имеют встроенный метод .join().

Ты ищешь

col_list = '<br />'.join('<input type="checkbox" name="..." />%s' % filename
                         for filename in listfiles)
person Iguananaut    schedule 15.11.2012