原文:千里代码-给《Python实现批量重命名》程序添加GUI在上一篇文章(Python实现批量改名)中,我用Pyton做了一个批量改名的脚本小程序,但是我觉得这样用起来不是很方便,所以想做一些改进,最好有一个GUI。1、首先,它的修改路径是硬编码在代码中的:#图片存放的路径path=r"D:/temp"所以这次我想把它改成可以选择的形式用户,像这样:2.给程序添加一个简单的GUI界面,让它有更好的体验。GUI界面使用Python自带的tkinter库实现。3、程序原来的设置是将文件重命名为增量.jpg文件。现在做了一些改进,改成了原来是什么类型的文件,重命名后是什么类型的文件,也就是文件类型不变。仅更改主文件名。原来:os.rename(os.path.join(path,file),os.path.join(path,str(num))+".jpg")现在:os.rename(os.path.join(path.get(),file),os.path.join(path.get(),str(num))+'.'+file.split('.')[-1])四、基本操作演示程序为完整代码如下(GitHub-Yajanan/FilesPathRename):#FilesBatchRenameWithGUI.py#导入所需库importtkinterastkfromtkinterimportfiledialogimportos#控制文件列表显示函数defDisplayList():listbox.delete(0,tk.END)forfileinos.listdir(path.get()):listbox.insert(tk.END,file)#获取文件夹路径函数defGetPath():filepath=filedialog.askdirectory()path.set(filepath)DisplayList()#批量重命名函数defHandelFiles():num=1forfileinos.listdir(path.get()):print(file)os.rename(os.path.join(path.get(),file),os.path.join(path.get(),str(num))+'.'+file.split('.')[-1])num=num+1DisplayList()root=tk.Tk()root.title('批量重命名')root.resizable(0,0)path=tk.StringVar()#Definition路径变量#定义控件listbox=tk.Listbox(root)label=tk.Label(root,text="文件夹路径:")entry=tk.Entry(root,textvariable=path)button1=tk.Button(root,text="SelectPath",command=GetPath)button2=tk.Button(root,text="StartProcessing",command=HandelFiles)#调整控件布局标签.网格(行=0,列=0)entry.grid(行=0,列=1)button1.grid(行=0,列=2)button2.grid(行=0,列=3)listbox.grid(row=1,column=0,columnspan=4,sticky=tk.W+tk.E)root.mainloop()(全文)
