使用場景:
在python程式設計中,我們經常會碰到一些 需要對某路徑下所有檔案進行遍歷並且逐一操作的情況,
而在遍歷時,需要判斷當前為資料夾還是檔案,以進行進一步的操作。
另外,
某些情況下,路徑下可能會存在一些系統自帶的隱藏配置檔案(例如Mac系統的.DS_Store
檔案),
(它是一種 Mac 作業系統所創造的隱藏檔案,目的在於存貯目錄的自定義屬性,例如檔案們的圖示位置或者是背景色的選擇)
這些檔案平時在圖形介面中不會顯示,但在用程式碼遍歷當前路徑時,就會作為其中的一個檔案被遍歷到,
這個時候,如果編碼邏輯是預設了路徑下均為資料夾,就會導致程式碼執行失敗。
核心函式:
os.path.isdir(path)
os.path.isfile(path)
程式碼示例:
import os
src_dir = ''
for sub_dir_file in os.listdir(src_dir): #遍歷目標路徑下的檔案/資料夾
sub_path = os.path.join(src_dir, sub_dir_file)
if os.path.isdir(sub_path): #若為資料夾
print('{} is a directory!'.format(sub_path))
elif os.path.isfile(sub_path): #若為檔案
print('{} is a file!'.format(sub_path))