這篇“Python怎么獲取指定目錄下的所有文件”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python怎么獲取指定目錄下的所有文件”文章吧。
成都創(chuàng)新互聯(lián)執(zhí)著的堅持網(wǎng)站建設,微信小程序定制開發(fā);我們不會轉(zhuǎn)行,已經(jīng)持續(xù)穩(wěn)定運營十載。專業(yè)的技術,豐富的成功經(jīng)驗和創(chuàng)作思維,提供一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造品牌,攜手廣大客戶,共同發(fā)展進步。
(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怎么獲取指定目錄下的所有文件”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關的知識內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。