pathlib を使用して、特定のディレクトリのすべてのサブディレクトリを再帰的に反復するにはどうすればよいですか?
_p = Path('docs')
for child in p.iterdir(): child
_
特定のディレクトリの直接の子に対してのみ反復処理を行うようです。
これはos.walk()
またはglob
で可能ですが、pathlibを使用したいのは、パスオブジェクトの操作が好きだからです。
glob
オブジェクトのPath
メソッドを使用できます。
p = Path('docs')
for i in p.glob('**/*'):
print(i.name)
_Path.rglob
_ を使用します(Path().glob("**/*")
の先頭の_**
_に置き換えます):
_path = Path("docs")
for p in path.rglob("*"):
print(p.name)
_
pathlib
にはglob
メソッドがあり、引数としてパターンを指定できます。
例:Path('abc').glob('**/*.txt')
-現在のフォルダーabc
および他のすべてのサブディレクトリを再帰的に検索して、すべてのtxt
ファイルを見つけます。