web-dev-qa-db-ja.com

pathlibを使用してすべてのサブディレクトリを再帰的に繰り返す

pathlib を使用して、特定のディレクトリのすべてのサブディレクトリを再帰的に反復するにはどうすればよいですか?

_p = Path('docs')
for child in p.iterdir(): child
_

特定のディレクトリの直接の子に対してのみ反復処理を行うようです。

これはos.walk()またはglobで可能ですが、pathlibを使用したいのは、パスオブジェクトの操作が好きだからです。

19
user1934212

globオブジェクトのPathメソッドを使用できます。

p = Path('docs')
for i in p.glob('**/*'):
     print(i.name)
18
Jacques Gaudin

_Path.rglob_ を使用します(Path().glob("**/*")の先頭の_**_に置き換えます):

_path = Path("docs")
for p in path.rglob("*"):
     print(p.name)
_
16
pylang

pathlibにはglobメソッドがあり、引数としてパターンを指定できます。

例:Path('abc').glob('**/*.txt')-現在のフォルダーabcおよび他のすべてのサブディレクトリを再帰的に検索して、すべてのtxtファイルを見つけます。

3
Sijan Bhandari