python之檔案批量更名及檔名批量儲存
阿新 • • 發佈:2018-12-22
如果self.savefilenameformat輸入為空的情況下,將資料夾中的檔名下入txt文字以及其他型別文件中,在這裡有兩種選擇模式,預設self.choosefilenameformat=2是把當前資料夾中的檔案的檔名下入文件中,模式self.choosefilenameformat=1下是將當前資料夾中的檔案其所屬路徑下入文件中;如果self.savefilenameformat='.doc'有賦值的時候,執行的是對當前資料夾中的檔案進行更名操作。
程式執行環境在python3.6下,安裝PyQt5,pip install PyQt5,並匯入庫目錄。import os,import sys。
程式執行介面圖:
資料夾操作主程式:
def change_file(self, file, file_suffix, file_suffix_change): """ 對資料夾中的檔案字尾名進行更改 :param file: 被更改的資料夾地址 :param file_suffix: 更改的檔案字尾名 :param file_suffix_change: 更改檔案改成的檔案字尾名 :return: """ files = os.listdir(file) # 將資料夾中 print(files) tmp=0 for filename in files: print("檔名", filename) portion = os.path.splitext(filename) if portion[1] == file_suffix: newname = portion[0] + file_suffix_change print("改後的檔名", newname) os.chdir(file) # 改變當前工作目錄到指定的路徑 os.rename(filename, newname) tmp+=1 self.filenamenum=tmp def Write_Data(self, filename, filename_write, filename_suffix='.txt', file_choose=2): """ 將資料夾中的檔案的檔名寫入文件中 :param filename: 讀取檔名的位置 :param filename_write: 寫入檔名檔案的儲存位置 :param filename_suffix: 讀取檔案的字尾名,預設.txt文件 :param file_choose:1為寫入所有地址,2為寫入資料夾下檔名的地址 :return: """ self.datalen=0 if file_choose == 1: files = os.listdir(filename) data = [] for file in files: portion = os.path.splitext(file) if portion[1] == filename_suffix: # print(filename + file) data.append(filename + file) self.datalen=len(data) if len(data) != 0: f = open(filename_write, 'w') for i in range(len(data)): f.write(data[i] + '\n') f.close() elif file_choose == 2: files = os.listdir(filename) data = [] for file in files: portion = os.path.splitext(file) if portion[1] == filename_suffix: # print(file) data.append(file) self.datalen = len(data) if len(data) != 0: f = open(filename_write, 'w') for i in range(len(data)): f.write(data[i] + '\n') f.close() else: print("file_choose:1為寫入所有地址,2為寫入資料夾下檔名的地址")
如需要輸出成.exe執行檔案,可以通過pyinstaller輸出,可以參考: