本文介紹基於Python語言,基於一個大資料夾,遍歷其中的多個子資料夾,對於每一個子資料夾中的大量檔案,批次將其檔案的名稱或字尾名中的字母由大寫修改為小寫的方法。
本文期望實現的需求為:現有一個大資料夾,其中有多個子資料夾;如下圖所示。
其中,每一個子資料夾內都有著大量的檔案,我們隨意開啟一個子資料夾,如下圖所示。如下圖紫色框內所示,這些檔案的擴充名都是大寫字母(也會有個別檔案當前的擴充名已經是小寫字母了);我們希望,對於當前擴充名是大寫字母的檔案,都將其字尾名修改為小寫字母。
這裡需要注意兩點——首先,本文的需求是將檔名中的字尾名由.TIF
修改為.tif
即可,所以就直接用了替換的方法;如果大家的需求有其他情況,比如要修改的字母是在檔名稱中而不是字尾名中,思路也是一致的;如果要修改的字母並不確定是什麼,則可以透過ASCII碼修改的方式實現大小寫轉換。其次,在Windows作業系統中,檔案字尾名是不區分大小寫的;而在類Unix系統(如Linux和macOS)中,檔案字尾名是區分大小寫的;所以大家一定要結合實際情況來修改。
瞭解了具體需求後,我們即可開始程式碼的實踐;本文用到的具體程式碼如下所示。
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 1 10:03:57 2023
@author: fkxxgis
"""
import os
folder_path = "E:/02_Project/202307_NDVIProduce/Beijing_Preprocessing/Four_Result/50TMK"
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith(".TIF"):
old_filepath = os.path.join(root, file)
new_filename = file.replace(".TIF", ".tif")
new_filepath = os.path.join(root, new_filename)
os.rename(old_filepath, new_filepath)
其中,上述程式碼的具體含義如下。
首先,我們匯入了os
模組,用於處理檔案和目錄操作;並定義了一個變數folder_path
,用於儲存要遍歷的資料夾路徑。
接下來,我們使用os.walk()
函式遍歷資料夾路徑下的所有子資料夾、子檔案。對於每個檔案,檢查其檔名是否以.TIF
結尾。如果是以.TIF
結尾,則進行重新命名操作。其次,使用os.path.join()
函式構建舊檔案路徑old_filepath
,將檔名與其所在的資料夾路徑連線起來;隨後,使用.replace()
方法將檔名中的.TIF
替換為.tif
,得到新的檔名new_filename
。這裡大家實際應用時,就根據自己檔案的實際情況來修改即可。
隨後,我們使用os.path.join()
函式構建新檔案路徑new_filepath
,將新檔名與原資料夾路徑連線起來;最後,使用os.rename()
函式將舊檔案路徑old_filepath
重新命名為新檔案路徑new_filepath
。
執行上述程式碼,可以看到我們的檔案已經是修改之後的擴充名了。
至此,大功告成。