Итак, у меня есть скрипт, который создает файлы, названные для каждого ключа в словаре. (сценарий ниже)Python - Создание пользовательского имени файла во время создания
for key, values in sequencelist.items():
with open(key, 'w') as out:
for value in values:
out.write('\n'.join(value.split()) + '\n')
Может ли кто-нибудь помочь мне изменить приведенный выше синтаксис, чтобы сделать больше? Я хотел бы добавить некоторый простой текст в имя файла, а также добавить текущий len(dict.keys())
с помощью range()
Смотрите мой скрипт ниже, который не работает! :)
for key, values in sequencelist.items():
for i in range(len(sequencelist.keys())):
j = i+1
with open('OTU(%j)' +'_' + key +'.txt' %j, 'w') as out:
for value in values:
out.write('\n'.join(value.split()) + '\n')
Так что это первый файл, созданный бы ОТ (1) _ key
.txt
Я уверен, что with open()
линия 100% неправильно.
Может ли кто-то связать меня с материалом, чтобы читать об использовании %j
, чтобы вызвать переменную j
из строки перед работами? Я пытался использовать код из этого ответа Overflow (Input a text file and write multiple output files in Python) без объяснения причин.
Ваша путаница в отношении '% j', вероятно, произошла из-за того, что код в вопросе, с которым вы связались, использовал« i »как формат (целое число), так и имя имени для печати. Для этого стиля форматирования строк см. [Эти документы] (http://docs.python.org/2/library/stdtypes.html#string-formatting). Существует также [другие способы] (http://docs.python.org/2/library/stdtypes.html#str.format) для форматирования. –