# 11 `distutils.dir_util` -- ディレクトリツリーの操作

このモジュールはディレクトリとディレクトリツリーを操作する関数を提供します。

`mkpath`( | name[, mode=`0777`, verbose=`0`, dry_run=`0`])

  ディレクトリと、必要な親ディレクトリを作成します。もしディレクトリが既 に存在している(nameが空文字列の場合、カレントディレクトリ を示すのでもちろん存在しています)場合、何もしません。 ディレクトリを作成できなかった場合(例: ディレクトリと同じ名前のファイルが 既に存在していた)、`DistutilsFileError`を起こします。 もし verboseが真なら、それぞれのmkdirについて1行、標準出力に出力 します。 実際に作成されたディレクトリのリストを返します。

`create_tree`( | base_dir, files[, mode=`0777`, verbose=`0`, dry_run=`0`])

  filesを置くために必要な空ディレクトリをbase_dir以下に作成 します。 base_dirディレクトリは存在している必要はありません。 filesはファイル名のリストでbase_dirからの相対パスとして扱 われます。base_dir + filesのディレクトリ部分 が(既に存在し ていなければ)作成されます。mode, verboseとdry_runフ ラグは`mkpath()`と同じです。

`copy_tree`( | src, dst[preserve_mode=`1`, preserve_times=`1`, preserve_symlinks=`0`, update=`0`, verbose=`0`, dry_run=`0`])

  srcディレクトリツリー全体をdstにコピーします。 srcと dstはどちらもディレクトリ名である必要があります。 もしsrcがディレクトリでなければ、`DistutilsFileError` を起こします。もしdstが存在しなければ、mkpath()で作成され ます。実行結果は、src以下の全てのファイルがdstにコピーされ、 src以下の全てのディレクトリがdstに再帰的にコピーされます。 コピーされた(またはされるはず)のファイルのリストを返します。返り値は updateまたはdry_runに影響されません: src 以下の全ファイルを単にdst以下に改名したリストが返されます。

  preserve_mode と preserve_times は `distutils.file_util`の`copy_file` と同じです: 通常のファイルには適用されますが、ディレクトリには適用されません。 もしpreserve_symlinks が真なら、シンボリックリンクは(サポートさ れているシステムでは)シンボリックリンクとしてコピーされます。そうでな ければ(デフォルト)シンボリックリンクは参照されている実体ファイルがコピーされます。 update とverbose は`copy_file()`と同じです。

`remove_tree`( | directory[verbose=`0`, dry_run=`0`])

  再帰的に directoryとその下の全ファイルを削除します。エラーは無視 されます(verboseが真の時は`stdout`に出力されます)