批量修改文件名python3.8GUI

 

批量修改文件名python3.8GUI界面版

基于上次的小函数,写了一个UI界面,感觉python的GUI界面(tkinter)还是蛮繁琐的。

一、代码

1.如下,也借鉴了一些网上前辈的代码.

import os
import sys 
import tkinter
import tkinter.simpledialog
from tkinter.filedialog import askdirectory

#下面是GUI界面
class GUI():
    def __init__(self,init_window_name):
        self.init_window_name = init_window_name
    #设置窗口
    def set_init_window(self):
        self.init_window_name.title("文件名批量修改工具v1.0")           #窗口名
        self.init_window_name.geometry('450x120+10+10')                         #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置
        #self.init_window_name.geometry('1068x681+10+10')
        self.init_window_name["bg"] = "pink"                                    #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887
        #self.init_window_name.attributes("-alpha",0.8)                          #虚化,值越小虚化程度越高
        #标签
        self.name_in = tkinter.Label(self.init_window_name, text="文件名",bg="pink")
        self.name_in.grid(row=1, column=0)
        self.name_change = tkinter.Label(self.init_window_name, text="修改后的文件名",bg="pink")
        self.name_change.grid(row=2, column=0)
        self.path = tkinter.Label(self.init_window_name, text="文件夹路径",bg="pink")
        self.path.grid(row=3, column=0)
        #文本框
        self.name_in_text = tkinter.Text(self.init_window_name, width=20, height=1,fg='red')  #原始数据录入框
        self.name_in_text.grid(row=1, column=3, rowspan=1, columnspan=1)
        self.name_change_text = tkinter.Text(self.init_window_name, width=20, height=1,fg='red')  #修改后文件名
        self.name_change_text.grid(row=2, column=3, rowspan=1, columnspan=1)
        self.path_text = tkinter.Text(self.init_window_name, width=40, height=1,fg='red')  #路径
        self.path_text.grid(row=3, column=3, rowspan=1, columnspan=1)
        #按钮
        self.change_filename_button2 = tkinter.Button(self.init_window_name, text="修改", bg="lightblue", width=10, command=self.change_filename)  # 调用内部方法
        self.change_filename_button2.grid(row=10, column=3)
    # def myprint(self):
    #     user=self.path_text.get(1.0,"current")#获取文本框内容 = x
    #     print(user)
    def change_filename(self): 
        file_path = self.path_text.get(1.0,"current")
        file_path = file_path.replace("\\\\","\\")
        now_name  = self.name_in_text.get(1.0,"current")
        now_name  = now_name.rstrip() 
        new_name  = self.name_change_text.get(1.0,"end")
        new_name  = new_name.rstrip() 
        # file_path = r'E:\python\prj\test\ceshi'
        # now_name  = '333.txt'
        # new_name  = 'wdwd3.txt'
        print(file_path,now_name,new_name)
        for filepath, dirnames, filenames in os.walk(file_path):     #用os.walk方法取得path路径下的文件夹路径,子文件夹名,所有文件名
            for filename in filenames:     #遍历列表下的文件路径,子文件夹名,子文件名
                if filename == now_name:
                    os.rename(os.path.join(filepath,now_name),os.path.join(filepath,new_name))  #子文件重命名
                    print ("change successfully")   #输出提示
def gui_start():
    init_window = tkinter.Tk()              #实例化出一个父窗口
    ZMJ_PORTAL = GUI(init_window)
    # 设置根窗口默认属性
    ZMJ_PORTAL.set_init_window()
    init_window.mainloop()          #父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示
gui_start()
    # now_name  = '111.txt'                         #文件修改前的名字
    # new_name  = 'ktbyz1.txt'                      #文件修改后的名字
    # file_path = r'E:\python\prj\test\ceshi'    #运行程序前,记得修改主文件夹路径,路径为包含子文件夹的文件夹
  

 

演示

没有输入之前

输入之后

以上就是这个小工具了,用起来还是非常顺手的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值