Как сделать так, чтобы в цикле файл назывался по-разному?
Поясняю: у меня есть необходимость в создании нескольких файлов, но в одном цикле. И при этом названия всех файлов должны отличаться.
Должно выглядеть приблизительно так:
for i in range(16):
with open(f'{i}.txt', 'w') as {i}_file:
{i}_file.write('test')
Как это сделать?
Ответы (2 шт):
Автор решения: Alpensin
→ Ссылка
for i in range(16):
with open(f'{i}.txt', 'w') as file:
file.write('test')
Автор решения: Zahar
→ Ссылка
Это можно сделать при помощи библиотеки random:
import random
# Количество символов в имени файла
filename_length = 10
# Строка символов для генерации имени файла
valid_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
# Функция для генерации уникального названия файла
def generate_filename():
return "".join(random.choice(valid_chars) for _ in range(filename_length))
for i in range(16):
with open(f'{generate_filename()}.txt', 'w') as file:
file.write('test')
Такой подход гарантирует с 99.8% вероятностью, что названия файлов не повторятся.