Как сделать так, чтобы в цикле файл назывался по-разному?

Поясняю: у меня есть необходимость в создании нескольких файлов, но в одном цикле. И при этом названия всех файлов должны отличаться.

Должно выглядеть приблизительно так:

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% вероятностью, что названия файлов не повторятся.

→ Ссылка