如何解决通过浏览按钮选择目录
我正在开发一个简单的重命名程序,但遇到两个问题:
-
如果我为“浏览”添加新按钮以选择文件夹,则会出现错误。
-
如果我运行程序,则文件夹选择窗口会自动显示,但是我想在每次单击按钮时都运行它。
问题是我可以按一个按钮,也可以浏览和选择文件夹 但是如何将其绑定到我的工作路径而又不会出错?我想
存在一些问题list = os.listdir(path)
os.chdir(path)
完整代码是:
import os
from tkinter import *
#from PIL import ImageTk,Image
from tkinter import filedialog
window = Tk()
window.title("Rename Helper")
window.geometry("500x302")
window.resizable(width = False,height = False)
#window.iconbitmap('licon.ico')
#canvas = Canvas(window)
#image = ImageTk.PhotoImage(Image.open('Rename.png'))
#canvas.create_image(0,anchor=NW,image=image)
#canvas.place( height=500,width=500)
hl_text = StringVar()
e1 = Entry(window,textvariable=hl_text)
e1.place(height=22,width=100,x= 280,y=140)
d_text = StringVar()
e2 = Entry(window,textvariable=d_text)
e2.place(height=22,y=192)
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 = filedialog.askdirectory()
def renamebtn():
newname = hl_text.get()
newdate = d_text.get()
rename(path,newname,1,newdate,"jpg")
btn1 = Button(window,text="Rename",command=renamebtn)
btn1.place(height=50,width=200,y=235)
window.mainloop()
解决方法
它自动运行的原因是因为您调用函数(使用()
)来解决此问题,只需像对普通函数那样分配一个按钮,然后在其中放置路径。喜欢:
btn2 = Button(window,text='Choose',command=choose)
btn2.pack() # or even place,depending on what you used previously
然后函数将是:
def choose():
global path
path = filedialog.askdirectory()
这只会使filedialog
仅在单击按钮时弹出。
如有任何疑问或错误,请告诉我
欢呼
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。