В этом материале приведен пример реальной программы для переименования имен файлов в папке. Названия файлов переименовываются на цифровые: 1, 2, 3, 4 и т.д. По нажатию правой кнопки можно скопировать/вставить путь до нужной папки.
import os
from tkinter import *
import tkinter.messagebox as box
window = Tk() # Конструктор для создания объекта окна
window.title('Переименовываем файлы')
def make_menu(w):
global the_menu
the_menu = Menu(w, tearoff=0)
the_menu.add_command(label="Выделить всё")
the_menu.add_command(label="Вырезать")
the_menu.add_command(label="Копировать")
the_menu.add_command(label="Вставить")
def show_menu(e):
w = e.widget
the_menu.entryconfigure("Выделить всё",command=lambda:
w.event_generate("<<SelectAll>>"))
the_menu.entryconfigure("Вырезать",command=lambda: w.event_generate("<<Cut>>"))
the_menu.entryconfigure("Копировать",command=lambda: w.event_generate("<<Copy>>"))
the_menu.entryconfigure("Вставить",command=lambda:
w.event_generate("<<Paste>>"))
the_menu.tk.call("tk_popup", the_menu, e.x_root, e.y_root)
def renameFileNames(path):
names = os.listdir(path)
for name, i in zip(names, range(len(names))):
fullname = os.path.join(path, name) # получаем полное имя
if os.path.isfile(fullname):
file_ext = fullname.rsplit('.', 1)[-1]
#print(os.path.join(path, str(i)+'.'+file_ext))
os.rename(fullname, os.path.join(path, str(i)+'.'+file_ext))
make_menu(window)
frame = Frame(window)
#bg - цвет фона fg - цвет текста
#entry = Entry(frame, bg = 'black', fg = 'white')
entry = Entry(frame)
def rename(path):
renameFileNames(path)
box.showinfo('Результат', 'Файлы успешно переименованы')
btn = Button(frame,
text = 'Переименовать',
command = lambda: rename(entry.get()))
btn.pack(side = RIGHT, padx = 5)
entry.pack(side = LEFT)
entry.bind_class("Entry", "<Button-3>", show_menu)
frame.pack(padx = 20, pady = 20)
window.mainloop()