【问题标题】:User input field to rename multiple files重命名多个文件的用户输入字段
【发布时间】:2020-08-16 17:11:38
【问题描述】:

我正在尝试重命名多个文件(由用户选择) 一切正常,但我无法获取用户的重命名输入。

在这里,当我运行这个程序时,我想在名称字段中输入类似:"newname" 我还想在日期字段中输入类似:2020

这些newname2020 默认情况下在代码中,程序会自动执行此操作。我想阻止它并使其动态化。代码是:

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()

【问题讨论】:

  • 您的具体问题是什么?
  • 您的问题的答案几乎可以在任何 tkinter 文档中找到。为什么需要帮助?

标签: python tkinter input dynamic


【解决方案1】:

您可以使用链接变量的get()方法获取输入字段值:

def renamebtn():
    newname = hl_text.get()
    newdate = d_text.get()
    print(newname, newdate)
    #rename(path, newname, 1, newdate, "jpg")

【讨论】:

    猜你喜欢
    • 2017-02-13
    • 2018-07-07
    • 2021-12-18
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多