文件夾遍歷以及過濾功能

遍歷文件夾及其子目錄

import os
def _iter_files(root_dir):
    # 遍歷文件夾及其子目錄,返回文件絕對路徑
    for root_dir, dirs, file_names in os.walk(root_dir):
        for _dir in dirs:
            _iter_files(_dir)

        for file_name in file_names:
            yield os.path.join(root, file_name)
  • 說明:root_dir為根目錄,dirs為根目錄下的子目錄,file_names為文件名,整個(gè)程序采用的是遞歸的形式遍歷根目錄下的文件及其文件夾

遍歷文件夾及其子目錄并支持過濾指定的文件夾和文件擴(kuò)展名

import os


def _iter_files(src_dir, exclude_file_type, exclude_dir):
    # 遍歷文件夾及其子目錄,返回文件絕對路徑
    for root_dir, dirs, file_names in os.walk(src_dir):
        for _dir in dirs:
            _iter_files(_dir, exclude_file_type, exclude_dir)
        dirs[:] = [dir for dir in dirs if dir not in exclude_dir]
        for filename in file_names:
            file_name, file_ext = os.path.splitext(filename)
            if file_ext in exclude_file_type:
                continue
            yield os.path.join(root_dir, filename)
  • 說明:src_dir為指定根目錄,exclude_file_type為過濾文件類型,exclude_dir為過濾文件夾
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容