ディレクトリを再帰的に作成する Python メソッドはありますか? 次のパスがあります:
/home/dail/
作りたい
/home/dail/first/second/third
再帰的に実行できますか、それともディレクトリを 1 つずつ作成する必要がありますか?
以下についても同様です:
chmodとchown は、各ファイル/ディレクトリに権限を割り当てずに再帰的に実行できますか?
ベストアンサー1
Python 3.2 以降では、次の操作を実行できます。
import os
path = '/home/dail/first/second/third'
os.makedirs(path, exist_ok=True)
exist_ok
このフラグのおかげで、ディレクトリが存在する場合でもエラーは発生しません (必要に応じて)。
Python 3.4 ( pathlib モジュールを含む) 以降では、次の操作を実行できます。
from pathlib import Path
path = Path('/home/dail/first/second/third')
path.mkdir(parents=True)
Python 3.5 以降にはフラグmkdir
もありますexist_ok
。これを設定すると、True
ディレクトリが存在する場合に例外は発生しません。
path.mkdir(parents=True, exist_ok=True)