之前下載了一批kindle電子書,但是每個文件後面都有多餘的擴展名,例如 一個孩子的戰爭.azw3.!ut, kindle 閱讀器不能識別。因此需要批量給文件重命名。實質是一個文件夾的遞歸遍歷。之前爲了處理自己的文件夾問題,分別用java 和c++實現的比較多,最近工作中python用的比較多,用Python也試試吧。
具體的思路很簡單,創建一個遞歸函數RenameKindle,參數是文件夾路徑,開始訪問文件夾,如果遇到文件,就重命名,如果是文件夾,就遞歸調用RenameKindle.
import os
def RenameKindle(rootDir):
for root, dirs, files in os.walk(rootDir):
for file in files:
file_name = os.path.join(root,file)
newname = file_name[:-4]
os.rename(file_name,newname)
for dirname in dirs:
RenameKindle(dirname)
RenameKindle(r'D:\書\kindle書庫')