replace方法
將指定子串都替換為另一個字符串,並返回替換后的結果。

translate方法
方法translate與replace一樣替換字符串的特定部分,但不同的是它只能進行單字符替換。這個方法的優勢在於能夠同時替換多個字符,因此效率比replace高。這個方法的用途很多(如替換換行符或其他隨平台而異的特殊字符),但這里只介紹一個比較簡單(也有點傻)的示例。假設你要將一段英語文本轉換為帶有德國口音的版本,為此必須將字符c和s分別替換為k和z。然而,使用translate前必須創建一個轉換表。這個轉換表指出了不同Unicode碼點之間的轉換關系。要創建轉換表,可對字符串類型str調用方法maketrans,這個方法接受兩個參數:兩個長度相同的字符串,它們指定要將第一個字符串中的每個字符都替換為第二個字符串中的相應字符。就這個簡單的示例而言,代碼類似於下面這樣:


使用translate方法,對文件名中的中文字符替換成自定義的字符,將甲-->a,乙-->b,丙-->c,丁-->d,正-->a
1 def replace_filename(dir_path): 2 """
3 將文件夾下,文件中文名字替換為英文,甲乙丙丁正->abcda 4 :param dir_path: 5 :return: 6 """
7 files = os.listdir(dir_path) 8 table = str.maketrans('甲乙丙丁正','abcda') # 轉換表,單個字符的替換
9
10 # print(files) files包含文件,文件夾
11 for file in files: 12 if os.path.isdir(file): 13 continue
14 oldname =os.path.join(dir_path,file) 15 new_file = file.translate(table) 16 newname = os.path.join(dir_path,new_file) 17 os.rename(oldname,newname) # 有移動重命名功能
參考書籍:
python 基礎教程
