Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件
(1)如下代碼,默認(rèn)遞歸獲取指定目錄root_dir下的所有文件,當(dāng)指定recursive參數(shù)為False時(shí),則只獲取root_dir目錄下的所有文件,不會(huì)遞歸的查找,若指定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)具體使用方法如下,即測(cè)試代碼,具體目錄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í)行結(jié)果如下,第一個(gè)當(dāng)指定path為文件時(shí),則直接將文件作為查詢(xún)到的返回,最后一個(gè)指定.json后綴,因?yàn)檎{(diào)試機(jī)上沒(méi)有json文件,所以打印為空
到此這篇關(guān)于Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件的文章就介紹到這了,更多相關(guān)Python獲取指定目錄下的所有文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章

Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法示例

Python 實(shí)現(xiàn)自動(dòng)化Excel報(bào)表的步驟

python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報(bào)

Python實(shí)現(xiàn)的讀取電腦硬件信息功能示例

django mysql數(shù)據(jù)庫(kù)及圖片上傳接口詳解

python爬蟲(chóng)刷訪問(wèn)量 2019 7月