Python代碼集pathlib應用之獲取指定目錄下的所有文件
(1)如下代碼,默認遞歸獲取指定目錄root_dir下的所有文件,當指定recursive參數(shù)為False時,則只獲取root_dir目錄下的所有文件,不會遞歸的查找,若指定suffix_tuple參數(shù),則可以獲取root_dir目錄下的指定后綴文件
from pathlib import Path def get_all_files(root_dir,recursive=True,suffix_tuple=()): all_files=[] if Path(root_dir).exists(): if Path(root_dir).is_dir(): if recursive: for elem in Path(root_dir).glob("**/*"): if Path(elem).is_file(): suffix=Path(elem).suffix if not suffix_tuple: all_files.append(elem) else: if suffix in suffix_tuple: all_files.append(elem) else: for elem in Path(root_dir).iterdir(): if Path(elem).is_file(): suffix=Path(elem).suffix if not suffix_tuple: all_files.append(elem) else: if suffix in suffix_tuple: all_files.append(elem) else: all_files.append(root_dir) return all_files
(2)具體使用方法如下,即測試代碼,具體目錄path指定為自己存在的目錄
if __name__=="__main__": path="D:/gitee/oepkgs/mugen/testcases/cli-test/acl/oe_test_acl_defaulr_rule.sh" for elem in get_all_files(path): print(elem) print("-------------------------------------------------") path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl" for elem in get_all_files(path): print(elem) print("-------------------------------------------------") path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl" for elem in get_all_files(path,False): print(elem) print("-------------------------------------------------") path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl" for elem in get_all_files(path, True,(".sh",)): print(elem) print("-------------------------------------------------") path = "D:/gitee/oepkgs/mugen/testcases/cli-test/acl" for elem in get_all_files(path, True, (".json",)): print(elem)
執(zhí)行結果如下,第一個當指定path為文件時,則直接將文件作為查詢到的返回,最后一個指定.json后綴,因為調(diào)試機上沒有json文件,所以打印為空
到此這篇關于Python代碼集pathlib應用之獲取指定目錄下的所有文件的文章就介紹到這了,更多相關Python獲取指定目錄下的所有文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python數(shù)據(jù)結構與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法示例
這篇文章主要介紹了Python數(shù)據(jù)結構與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法,結合實例形式分析了圖的廣度優(yōu)先與深度優(yōu)先搜索算法原理與相關實現(xiàn)技巧,需要的朋友可以參考下2017-12-12django mysql數(shù)據(jù)庫及圖片上傳接口詳解
這篇文章主要介紹了django mysql數(shù)據(jù)庫及圖片上傳接口詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07