python檔案批量重新命名
阿新 • • 發佈:2020-07-27
python檔案批量重新命名
程式碼如下:
# -*- coding: gbk -*- import os class fileRename(): def __init__(self, path): self.__path = path self.__order = {} self.__files = os.listdir(path) def list(self): return self.__files def presolve(self, string): for _ in string.split(";"): __ = _.split(",") #self.__order.update({__[0]:__[1]}) self.__order[__[0]] = __[1] def rename(self): print("當前位於:{}".format(self.__path)) print("此路徑下檔案如下:{}".format(self.list())) print("請輸入想要批量修改的資料(格式為key1,value1;key2,value2;……)") self.presolve(input()) readyToRename = set() for o in self.__order.keys(): for fname in self.__files: if o in fname: readyToRename.add(fname) print("有 {} 個檔案等待修改".format(len(readyToRename))) if len(readyToRename) == 0: print("Nothing to rename") return print("是否進行操作? 輸入yes/no") ans = input() if ans == "yes" or ans == "y": for f in readyToRename: oldname = self.__path +"\\"+ f newname = self.__path +"\\"+ f for o in self.__order.keys(): newname = newname.replace(o,self.__order[o]) os.rename(oldname,newname) elif ans == "no" or ans == "n": print("退出") else: print("指令錯誤,已退出") print("Success!") f = fileRename(input('請輸入資料夾路徑')) f.rename()