使用場景: 在python編程中,我們經常會碰到一些 需要對某路徑下所有文件進行遍歷並且逐一操作的情況, 而在遍歷時,需要判斷當前為文件夾還是文件,以進行進一步的操作。 另外, 某些情況下,路徑下可能會存在一些系統自帶的隱藏配置文件(例如Mac系統的.DS_Store文件), (它是一種 Mac 操 ...
使用場景:
在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))