Создание файла со сгенерированным именем

Есть функция отработки нажатия на кнопку

def add_module():  
    a=1
    module_name="cfg/"+combo_select_module.get()+"_"+str(a)+".txt"
    path_module_name=os.path.isfile(module_name)
    module_cfg = open(module_name, "w")
  • module_name - задает путь и имя файла
  • path_module_name - проверяет есть ли такой файл. возвращает логическое значение (True или False)
  • module_cfg - создает файл
  • combo_select_module.get() - получаем значение из выпадающего списка

Это все работает нормально, без ошибок.

Мне нужно чтобы при нажатии на кнопку создался файл , например, файл_1.txt. Если нажать еще раз то создался бы файл файл_2.txt , при условии что отсутствует файл_1.txt Если нажать еще раз то создался бы файл файл_3.txt при условии что нет файлов файл_1.txt и файл_2.txt и так далее.

Пробовал через цикл while: обернулось все это тем что у меня за секунду создалось 12 с лишним тысяч файлов.


Ответы (1 шт):

Автор решения: ПИТОНИСТ версия-3-8

Вот полный код:

from tkinter import *
s=int(open('sh.txt').read())
def add_module(): 
    global s
    test=open('файл_'+str(s)+'.txt', 'w')
    test.close()
    s+=1
    open('sh.txt', 'w').write(str(s))
w=Tk()
Button(w, text='создать файл', command=add_module).pack()

Вот фото

Теперь даже при повторном запуске программы будут создаваться файлы, которых нет в папке (для этого существует файл sh.txt. Сначала его нужно создать в папке, где хранится программа, а затем в него нужно вписать значение 1. Далее его не нужно изменять ни в коем случае!)

→ Ссылка