Бесконечность файлов python

#python

Вопрос:

Мне нужна программа, которая могла бы генерировать бесконечные файлы, вот что я еще сделал

 x = 1

V = "Test"

while True:
    str(x)

    text = x,".txt"

    f = open(text, "w")
    f.write(V)
     
   
 

x = 1

но когда я запускаю его, код ошибки

 line 26, in <module>
    f = open(text, "w")
TypeError: expected str, bytes or os.PathLike object, not tuple
 

или

[Ошибка 6]

и я не понимаю, почему, потому что я преобразую x в строку .

Комментарии:

1. x это строка, text = x,".txt" это кортеж

2. Кроме того, вы должны закрыть свой файл, иначе возникнет слишком много проблем с открытием файлов.

3. @BtcSources или просто используйте контекстный менеджер ( with ); также блок » x = 1 вне while цикла»

4. Хотя в CPython подсчет ссылок закроет большинство из них

5. «и я не понимаю, почему, потому что я преобразую x в строку». Но вы не проходите x , вы проходите text , и текст, очевидно, является кортежем: text = x,".txt" попробуйте сами в repl

Ответ №1:

Вам нужно объединить значения вместе. Использование запятой создает кортеж, а это не то, что вам нужно.

 text = str(x)   ".txt"
# or
text = f'{x}.txt'
 

Ответ №2:

Я бы использовал with open(filename, mode) as hanlder так, чтобы поток файлов закрывался и мусор собирался после каждой файловой операции:

Кроме того, вы забыли увеличить x, и нет необходимости вводить приведение x в str

 x = 1

V = "Test"

while True:

    text = f"{x}.txt"

    with open(text, "w") as f:
      f.write(V)
    x  = 1