import os
import tkinter as tk
class ImageRename():
def __init__(self):
#这是存放文件的文件夹位置,只要修这个就可以运行
self.path = r'C:\Users\users\Desktop\aa'
def rename(self):
filelist = os.listdir(self.path)
totalnum = len(filelist)
u = 1
i = 1
o = 1
p = 1
l = 1
for item in filelist:
if item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(
self.path), 'image' + format(str(u), '0>3s') + '.jpg')
os.rename(src, dst)
u = u + 1
#如果文档类型是pptx、docx、xlsx关乎版本问题,可能不兼容,需要做以修改
if item.endswith('.ppt'):
#如果所有类型文档编号一起排序,不从1重新开始的话可以把所有变量:u i o p l统一改为u
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(
self.path), 'ppt' + format(str(i), '0>3s') + '.ppt')
os.rename(src, dst)
i = i + 1
if item.endswith('.doc'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(
self.path), 'word' + format(str(o), '0>3s') + '.doc')
os.rename(src, dst)
o = o + 1
if item.endswith('.xls'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(
self.path), 'excel' + format(str(p), '0>3s') + '.xls')
os.rename(src, dst)
p = p + 1
if item.endswith('.txt'):
src = os.path.join(os.path.abspath(self.path), item)
dst = os.path.join(os.path.abspath(
self.path), 'text' + format(str(l), '0>3s') + '.txt')
os.rename(src, dst)
l = l + 1
window = tk.Tk()
window.title('文件命名排序程序')
window.geometry('400x200')
# 在图形界面上设定标签
var = tk.StringVar() # 将label标签的内容设置为字符类型,用var来接收hit_me函数的传出内容用以显示在标签上
l2 = tk.Label(window, text='该程序不管原本文件排序,只是随机排序命名', bg='#EE82EE', font=('Arial', 12), width=38, height=2)
l2.pack()
l = tk.Label(window, textvariable=var, bg='green', fg='white', font=('Arial', 12), width=38, height=2)
# 说明: bg为背景,fg为字体颜色,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
l.pack()
# 定义一个函数功能(内容自己自由编写),供点击Button按键时调用,调用命令参数command=函数名
on_hit = False
def hit_me():
global on_hit
if on_hit == False:
on_hit = True
if __name__ == '__main__':
newname = ImageRename()
newname.rename()
var.set('运行成功')
else:
on_hit = False
var.set('')
# 在窗口界面设置放置Button按键
b = tk.Button(window, text='运行', font=('Arial', 12), width=10, height=1, command=hit_me)
b.pack()
# 主窗口循环显示
window.mainloop()
是一个Python的GUI小程序,运行之后是这样的:
原来文件夹的命名方式:
程序运行之后之后文件夹的命名方式: