# 12 `distutils.file_util` -- 1ファイルの操作

このモジュールはそれぞれのファイルを操作するユーティリティ関数を提供します。

`copy_file`( | src, dst[preserve_mode=`1`, preserve_times=`1`, update=`0`, link=`None`, verbose=`0`, dry_run=`0`])

  ファイルsrcをdstにコピーします。もしdstがディレクト リなら、srcはそこへ同じ名前でコピーされます; そうでなければ、 ファイル名として扱われます。 (もしファイルが存在するなら、上書きされま す。) mosilpreserve_modeが真(デフォルト)なら、ファイルのモード (タイプやパーミッション、その他プラットフォームがサポートするもの)もコ ピーされます。もし preserve_timesが真(デフォルト)なら、最終更新、 最終アクセス時刻もコピーされます。もしupdateが真なら、src はdstが存在しない場合か、dstがsrcより古い時にだけコ ピーします。

  linkは値を`'hard'`または`'sym'`に設定することでコピーのかわりに ハードリンク(`os.link`を使います)ま たはシンボリックリンク(`os.symlink`を使います)を許可します。 `None`(デフォルト)の時には、ファイルはコピーされます。link をサポートしていないシステムで有効にしないでください。 `copy_file()`はハードリンク、シンボリックリンクが可能かチェッ クしていません。ファイルの内容をコピーするために _copy_file_contents()を利用しています。

  "`(dest_name, copied)`"のタプルを返します: dest_nameは出力ファ イルの実際の名前、copiedはファイルがコピーされた(dry_runが 真の時にはコピーされることになった)場合には真です。

`move_file`( | src, dst[verbose, dry_run])

  ファイルsrcをdstに移動します。もしdstがディレクトリ なら、ファイルはそのディレクトリに同じ名前で移動されます。そうでなけれ ば、srcはdstに単にリネームされます。新しいファイルの名前を 返します。 警告: Unix では デバイスをまたがる移動は`copy_file()`を利 用して扱っています。他のシステムではどうなっている ???

`write_file`( | filename, contents)

  filename を作成し、contents(行末文字がない文 字列のシーケンス)を書き込みます。