日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python递归查找_[Python]递归查找文件(最简洁)

發布時間:2025/3/12 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python递归查找_[Python]递归查找文件(最简洁) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

google了一下發現大多數人都是自己實現的,其實python標準庫里是有相關方法的,更簡潔,而且支持pattern匹配。

其實自己實現也沒多難,但是一個非常重要的經驗告訴我,內置方法哪怕代碼跟你的一模一樣都會比你自己寫的快很多,所以當你想要一個功能的時候,最好先查一下標準庫里有沒有,或者有沒有其他人已經做過的,而不是上來就去自己實現,不一定有人家寫的好不說,效率還不高。

Path.glob(pattern)

解析相對于此路徑的通配符 pattern,產生所有匹配的文件:

>>> sorted(Path('.').glob('*.py'))

[PosixPath('pathlib.py'), PosixPath('setup.py'), PosixPath('test_pathlib.py')]

>>> sorted(Path('.').glob('*/*.py'))

[PosixPath('docs/conf.py')]

** 模式表示 “此目錄以及所有子目錄,遞歸”。換句話說,它啟用遞歸通配:

>>> sorted(Path('.').glob('**/*.py'))

[PosixPath('build/lib/pathlib.py'),

PosixPath('docs/conf.py'),

PosixPath('pathlib.py'),

PosixPath('setup.py'),

PosixPath('test_pathlib.py')]

注解:在一個較大的目錄樹中使用 ** 模式可能會消耗非常多的時間。

Path.rglob(pattern)

這就像調用 Path.glob時在給定的相對 pattern 前面添加了**/

>>> sorted(Path().rglob("*.py"))

[PosixPath('build/lib/pathlib.py'),

PosixPath('docs/conf.py'),

PosixPath('pathlib.py'),

PosixPath('setup.py'),

PosixPath('test_pathlib.py')]

Nice and easy.

總結

以上是生活随笔為你收集整理的python递归查找_[Python]递归查找文件(最简洁)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。