Python批量修改檔名和檔案型別

阿蘇爾發表於2018-04-12

os模組提供了豐富的方法來處理檔案和目錄,主要用到下面幾個函式:

os.walk()
os.listdir()
os.path.splitext()
os.rename()

關於os.walk和os.listdir的用法可以參考 這篇文章
下面給出幾個應用案例:
1. 批量修改檔案型別
2. 批量建立遞增序列的word文件

批量修改檔案型別

最近再學習作業系統的過程中,需要下載網站上的文件,但是文件格式是pdf但實際下載以後型別是txt,故想寫一個python指令碼能夠批量將txt字尾改成pdf字尾。程式碼如下:

#coding: utf-8
import os;
#將file_dir目錄下的old_type型別的檔案改成new_type型別的檔案
def file_rename(old_type, new_type, file_dir):
    old_files = find_file(old_type, file_dir)
    for old_file in old_files:#遍歷所有檔案
        filename=os.path.splitext(old_file)[0];#檔名
        #filetype=os.path.splitext(old_file)[1];#副檔名
        new_file=os.path.join(filename+ new_type);#新的檔案路徑
        os.rename(old_file, new_file);#重新命名  

#找某個檔案型別的檔案
def find_file(file_type, file_dir):
    file_set = []
    for root, dirs, files in os.walk(file_dir):
        for file in files:
            if os.path.splitext(file)[1] == file_type:
                file_set.append(os.path.join(root, file))

    return file_set
#下面是需要修改的程式碼
file_dir = r"C:\Users\way\Desktop\作業系統";
file_rename('.txt', '.pdf', file_dir);

相關文章