Я делаю программу, которая будет сортировать и переименовывать файлы. Если файл .jpg, я хочу спросить, принадлежит ли он к «A» или «B». Моя проблема в том, что, когда в files
больше одного каталога, программа создаст для каждого choose = Toplevel()
в один и тот же момент (не в тот же момент, но сделает один, тогда l oop в for file in files:
и создаст другой один и так далее, не дожидаясь кнопки). Тогда выбор A или B повлияет только на последний l oop в for file in files:
. Можно ли остановить программу и цикл, пока пользователь не решит нажать A или B?
Вот фрагмент кода, о котором я говорю:
for file in files:
cwd = os.getcwd()
shutil.copy(file, cwd)
dir_file = cwd + '/' + os.path.basename(file)
file_name, file_ext = os.path.splitext(os.path.basename(file))
if file_ext.upper() in [".JPG", ".JPEG", ".PDF", ".TIF"]:
def send_a(a):
adress = dir_file
name = "photo_A0" + str(a) + file_ext
name = cwd + "/" + name
os.rename(adress, name)
a += 1
return a
def send_b(b):
adress = dir_file
name = "photo_B0" + str(b) + file_ext
name = cwd + "/" + name
os.rename(adress, name)
b += 1
return b
choose = Toplevel()
choose_one = Label(choose, text="Choose one: " + os.path.basename(file), width=50)
choose_one.grid(row=0, column=0)
guzik3 = Button(choose, text="A", command=lambda: [send_a(a), choose.destroy()])
guzik3.grid(row=0, column=3, padx=10, pady=6)
guzik4 = Button(choose, text="B", command=lambda: [send_b(b), choose.destroy()])
guzik4.grid(row=0, column=3, padx=10, pady=6)
else ...