文件命名排序小程序

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小程序,运行之后是这样的:



原来文件夹的命名方式:



程序运行之后之后文件夹的命名方式:
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,941评论 0 5
  • WinRAR - 最新版本的更新 版本 5.50 1. WinRAR 和命令行 RAR 默认使用 RAR ...
    王舒璇阅读 2,422评论 0 2
  • 今天数学学的是安全课语文学的是吃水不忘挖井人。还有我多想去看看。老师告诉我们,吃水就是代表的喝水。这还告诉我们,有...
    张若涵阅读 101评论 0 0
  • 傍晚七点零九分,这里下着大雨。 睡莲池边长出了一支花,高高的枝杆穿透幽深的水面,直直地生长,越过一旁的水蜡烛,孤楞...
    染溪阅读 265评论 0 0
  • 【1】 和刘旭结婚四年未满,我们的感情就在柴米油盐的琐碎中败下阵来,刘旭背叛了我。离婚半年后,一个在广州的朋友给我...
    打盹的下午茶阅读 771评论 0 9