Python獲取指定目錄下的文件


轉載自:https://www.cnblogs.com/testlearn/p/14426580.html

import os def find_file(search_path, include_str=None, filter_strs=None): """ 查找指定目錄下所有的文件(不包含以__開頭和結尾的文件)或指定格式的文件,若不同目錄存在相同文件名,只返回第1個文件的路徑 :param search_path: 查找的目錄路徑 :param include_str: 獲取包含字符串的名稱 :param filter_strs: 過濾包含字符串的名稱 """
    if filter_strs is None: filter_strs = [] files = [] # 獲取路徑下所有文件
    names = os.listdir(search_path) for name in names: path = os.path.abspath(os.path.join(search_path, name)) if os.path.isfile(path): # 如果不包含指定字符串則
            if include_str is not None and include_str not in name: continue

            # 如果未break,說明不包含filter_strs中的字符
            for filter_str in filter_strs: if filter_str in name: break
            else: files.append(path) else: files += find_file(path, include_str=include_str, filter_strs=filter_strs) return files if __name__ == '__main__': # 獲取全部文件
    f = find_file("./test") print(f) # 獲取包含指定字符的文件
    f = find_file("./test", include_str=".py") print(f) # 獲取不包含指定字符的文件
    f = find_file("./test", filter_strs=[".pyc", "__init__"]) print(f) # 獲取包含指定字符且不包含某些指定字符的文件
    f = find_file("./test", include_str=".py", filter_strs=[".pyc", "__init__"]) print(f)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM