本网站提供资源工具下载,大表哥资源工具,思源资源网软件工具,小刀娱乐网资源下载,活动线报福利资源分享,活动线报,大型网游经典游戏,网络热门技术游戏辅助交流与分享。
首页 > 软件仓库 > 批量修改文件名小程序,开源,欢迎一起完善更多功能

批量修改文件名小程序,开源,欢迎一起完善更多功能

批量修改文件名小程序,开源,欢迎一起完善更多功能

python tkinter
写了一个批量修改文件名的小程序,
程序开源

代码我放到下面    
(小生不才,写的不好)



from tkinter import *
from tkinter import messagebox
from tkinter.filedialog import askdirectory
import os
import time
from tkinter import ttk
import re

class GUI(Frame):
    def __init__(selfmaster=None):
        super().__init__(master)
        self.master = master
        self.pack()
        self.creat_window()
        self.path = "d:/"

    def creat_window(self):
        self.f1 = Frame(self)
        self.f1.pack()
        self.f2 = Frame(self)
        self.f2.pack()
        self.f3 = Frame(self)
        self.f3.pack()
        self.f4 = Frame(self)
        self.f4.pack()
        l1 = Label(self.f1text="批量更改文件名"bg="pink"fg="white"fon=("宋体"20))
        l1.grid(row=0column=0rowspan=2columnspan=2sticky=NSEW)
        self.l2 = ttk.Entry(self.f2)
        self.l2.insert(0"文件夹路径")
        self.l2.grid(row=1column=0stick=EWpady=20)
        co = ttk.Button(self.f2text="选择文件夹"command=self.coll)
        co.grid(row=1column=1sticky=EW)
        self.entry01 = ttk.Entry(self.f2)
        # self.entry01.insert(0, "更改后文件名")
        self.entry01.grid(row=2column=0sticky=NSEWpady=20)
        self.btn = ttk.Button(self.f2text="更改文件名"command=self.inform)
        self.btn.grid(row=2column=1sticky=EW)
        self.v = StringVar()
        self.v.set("0")
        self.v1 = ttk.Radiobutton(self.f2text="前缀名"value="0"variable=self.v)
        self.v2 = ttk.Radiobutton(self.f2text="后缀名"value="1"variable=self.v)
        self.v1.grid(row=3column=0)
        self.v2.grid(row=3column=1)
        self.checkbutn()
        self.l3 = Text(self.f3width=36height=16bg="lightblue"yscrollcommand=True)
        self.l3.insert(INSERT"终端\n")
        scroll = ttk.Scrollbar(self.f3orient=VERTICALtakefocus=0.1)
        scroll.place(relwidth=0.04relheight=1relx=0.9575rely=0)
        scroll.config(command=self.l3.yview)
        self.l3.config(yscrollcommand=scroll.set)
        self.l3.pack()
        self.ra = StringVar()
        self.ra.set("0")
        self.ra1 = ttk.Radiobutton(self.f2text="数字排前"value="0"variable=self.ra)
        self.ra2 = ttk.Radiobutton(self.f2text="数字排后"value="1"variable=self.ra)
        self.ra1.grid(row=4column=0)
        self.ra2.grid(row=4column=1)
        self.r = StringVar()
        self.r.set("1")
        self.r1 = ttk.Radiobutton(self.f2text="使用正则"value="0"variable=self.r)
        self.r2 = ttk.Radiobutton(self.f2text="不使用正则"value="1"variable=self.r)
        self.r1.grid(row=5column=0)
        self.r2.grid(row=5column=1)
        signname1 = 47136
        signname2 = signname1-17153
        sign_p1 = chr(int(signname1/2-1))
        sign_p2 = str(chr((signname2)))
        signname = sign_p1 + sign_p2
        ls = Label(selftext=signnamefon=("黑体"10)fg="blue")
        ls.pack(side="right"padx=1pady=5)


    def checkbutn(self):
        butn = ttk.Button(self.f2text="确定"command=self.justyfilename)
        butn.grid(row=6column=1sticky=EW)

    def justyfilename(self):
        part_name = self.entry01.get()
        self.l3.insert(INSERTpart_name)
        f_name = self.ra.get()
        re_name = self.r.get()
        lis = ["a""b""c""d""e""f""g""h""i""j""k""l""m""n""o""p""q""r""s""t""u",
               "v""w""x""y""z""A""B""C""D""E""F""G""H""I""J""K""L""M""N""O""P",
               "Q""R""S""T""U""V""W""X""Y""Z"]

        try:
            list_dir = os.listdir(self.path)
            if self.v.get() == "1":
                for listna in list_dir:
                    list_name = self.path + listna
                    b_name = listna.split(".")[0]
                    # print(b_name)
                    full_name = self.path + b_name + "." str(part_name)
                    # print(full_name)
                    os.rename(list_namefull_name)
                    self.l3.insert(INSERT"文件%s重命名成功,新的文件名为%s\n% (list_namefull_name))
            else:
                self.l3.insert(INSERT"前缀名\n")
                length len(list_dir)
                i = 0
                for listna in list_dir:
                    list_name = self.path + listna
                    b_name = listna.split(".")[1]
                    # print(b_name)
                    if re_name == "0":
                        re_part_name = re.findall('.*\[(.*)\].*'part_name)[0]
                        part_name1 = part_name.split("[")[0]
                        part_name3 = part_name.split("]")[-1]
                        part_name2 = part_name.split("[")[1].replace("1-9]""")
                        if "1-9" in re_part_name:
                            # print("jjjjjjjjh")
                            i += 1
                            full_name = self.path + part_name1 + str(i) + part_name2 + part_name3 + "." + b_name
                            os.rename(list_namefull_name)
                            self.l3.insert(INSERT"文件%s重命名成功,新的文件名为%s\n% (list_namefull_name))
                        elif "a-z" in re_part_name:
                            en_name = lis
                            i += 1
                            part_name2 = part_name.split("[")[1].replace("a-z]""")
                            full_name = self.path + part_name1 + str(en_name) + part_name3 + "." + b_name
                            os.rename(list_namefull_name)
                            self.l3.insert(INSERT"文件%s重命名成功,新的文件名为%s\n% (list_namefull_name))
                    elif re_name == "1":
                        if f_name == "0":
                            i += 1
                            line_name = i
                            full_name = self.path + str(line_name) + str(part_name) + "." + b_name
                            os.rename(list_namefull_name)
                            self.l3.insert(INSERT"文件%s重命名成功,新的文件名为%s\n% (list_namefull_name))
                        else:
                            i += 1
                            line_name = i
                            full_name = self.path + str(part_name) + str(line_name) + "." + b_name
                            os.rename(list_namefull_name)
                            self.l3.insert(INSERT"文件%s重命名成功,新的文件名为%s\n% (list_namefull_name))
        except Exception:
            self.message()


    def inform(self):
        messagebox.showinfo(title="<注意>"message="直接输入文件名,无需加点")

    def message(self):
        messagebox.showinfo(title="<注意>"message="请输入文件夹路径,并按顺序完成,或出现了某种未知错误")

    def coll(self):
        self.path = askdirectory(title="选择文件"initialdir="d:/")
        self.path = self.path+"/"
        # print(self.path)        #要增加判断文件夹还是多个文件
        判断前缀,加字母数字下划区分
        self.l3.insert(INSERTself.path)
        self.l2.insert(0self.path)


if __name__ == '__main__':
    root = Tk()
    root.geometry("280x490+200+200")
    root.title("批量更改文件名")
    root.iconbitmap("b.ico")
    root.resizable(width=False, height=False)
    app = GUI(master=root)
    root.mainloop()



QQ截图20200616001245.png

下载地址 
蓝奏网盘 
本站说明大表哥资源网:www.jxdbg.com 每天更新优质技术教程,资源,软件,活动,资讯!

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途, 否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内 ,从您的电脑或手机中彻底删除上述内容。

1、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。
2、本网站可能提供第三方网站的链接,我们不负责维护这些网站。我们不对这些网站的内容负责任。
3、提供这些网站的链接并不意味我们对这些网站或它们的内容的认可或支持。 本站不对这些链接网站作出任何陈述或保证,也不对它们负任何责任。
4、如有侵权请邮件与我们联系处理1845112200@qq.com 敬请谅解!

发表评论:

本站资源来自互联网收集,仅供用于学习和交流,我们尊重任何软件和教程作者的版权,请遵循相关法律法规,本站一切资源不代表本站立场

侵权删帖/违法举报/商务合作/投稿等事物联系QQ1845112200邮箱:1845112200@qq.com
sitemap ★★版权声明★★