Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件
(1)如下代碼,默認(rèn)遞歸獲取指定目錄root_dir下的所有文件,當(dāng)指定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í)行結(jié)果如下,第一個當(dāng)指定path為文件時,則直接將文件作為查詢到的返回,最后一個指定.json后綴,因為調(diào)試機上沒有json文件,所以打印為空

到此這篇關(guān)于Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件的文章就介紹到這了,更多相關(guān)Python獲取指定目錄下的所有文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法示例
這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)與算法之圖的廣度優(yōu)先與深度優(yōu)先搜索算法,結(jié)合實例形式分析了圖的廣度優(yōu)先與深度優(yōu)先搜索算法原理與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2017-12-12
python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報
這篇文章主要介紹了python獲取天氣接口給指定微信好友發(fā)天氣預(yù)報的步驟,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-12-12
django mysql數(shù)據(jù)庫及圖片上傳接口詳解
這篇文章主要介紹了django mysql數(shù)據(jù)庫及圖片上傳接口詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07

