批量修改檔名python3 8GUI

2021-10-10 12:52:29 字數 3664 閱讀 9795

基於上次的小函式,寫了乙個ui介面,感覺python的gui介面(tkinter)還是蠻繁瑣的。

import os

import sys

import tkinter

import tkinter.******dialog

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' #執行程式前,記得修改主資料夾路徑,路徑為包含子資料夾的資料夾

沒有輸入之前

輸入之後

以上就是這個小工具了,用起來還是非常順手的.

python批量修改檔名

修改前 flv檔案是從rar檔案中解壓出來的。由於英文不好,並且有的flv檔案的名字並不十分清晰明了,所以打算將flv檔案名字改為相應的rar檔案的名字。僅供參考,新手勿噴 主要使用了python中的re 正規表示式 和os模組中的函式。coding gb2312 import os import ...

python批量修改檔名

最近工作需要給大量檔案改名。恰巧,本人又在自學python,所以就想用python寫個程式來自動修改相應的檔名。下面就通過 來介紹一下我的做法吧。先說一下,我的工作要求是,在所有的資料檔案前加上資料所在資料夾的名字,改完名字後把所有的檔案彙總到乙個新的資料夾。我要處理的檔案有的存放在次最後層目錄 有...

Python 批量修改檔名

需要將收到的 bmp 檔案按名稱順序排列,而檔名本來的樣式類似於image12.bmp,現需要修改為12.bmp,由於檔案數量較大,所以產生了利用 python 修改的想法,雖然 很簡單,但還算成功。import os 檔案位址 path c users 迴圈處理資料夾內的每個檔案 forfile ...