#python #tkinter #input #dynamic
#python #tkinter #ввод #динамический
Вопрос:
Я пытаюсь создать что-то для переименования нескольких файлов (по выбору пользователя), все в порядке, но я не могу заставить его получить пользовательский ввод для переименования.
здесь, когда я запускаю эту программу, я хочу ввести в поле name что-то вроде: "newname"
а также я хочу ввести в поле date что-то вроде: 2020
.
Эти newname
и 2020
присутствуют в коде по умолчанию, и программа автоматически это сделает. Я хочу предотвратить это и сделать его динамическим. Код является:
import os
from tkinter import *
window = Tk()
window.title("Rename Helper")
hlabel = Label(window, text="Name")
hlabel.grid(row=0, column=0)
dlabel = Label(window, text="Date")
dlabel.grid(row=2, column=0)
hl_text = StringVar()
e1 = Entry(window, textvariable=hl_text)
e1.grid(row=0, column=1)
d_text = StringVar()
e2 = Entry(window, textvariable=d_text)
e2.grid(row=2, column=1)
fileExt = (".png", ".jpg", ".jpeg", ".PNG", "JPG", ".JPEG")
def rename(path, new_name, numbering, d_text, extension,):
list = os.listdir(path)
os.chdir(path)
count = numbering
for i in list:
if i.endswith(fileExt):
os.rename(i, new_name "_P_" str(count).zfill(2) "_" d_text '.' extension)
count = 1
path = os.path.abspath('./')
def renamebtn():
rename(path, 'newname', 1, "2020", "jpg")
btn1 = Button(window, text="Rename", command=renamebtn)
btn1.grid(row=3, column=2)
window.mainloop()
Комментарии:
1. В чем конкретно заключается ваш вопрос?
2. Ответ на ваш вопрос можно найти практически в любой документации tkinter. Зачем вам нужна помощь?
Ответ №1:
Вы можете получить значения полей ввода, используя get()
метод связанных переменных:
def renamebtn():
newname = hl_text.get()
newdate = d_text.get()
print(newname, newdate)
#rename(path, newname, 1, newdate, "jpg")