shutil#
ディレクトリとファイルの操作#
-
shutil.move(src, dst)
ファイルやディレクトリを指定したパスへ移動し、移動先のパスを文字列で返す -
shutil.copy(src, dst)
指定したファイル(パーミッションも)をコピーし、コピー先のパス文字列を返す -
shutil.copytree(src, dst)
指定したパスをディレクトリごとコピーし、コピー先の文字列で返す。
Info
すでにdst で指定したパスが存在している場合は FileExistsError
となります。
ディレクトリ名を日付にするなど、可変にすればエラーは避けられます。
-
shutil.rmtree(パス) 指定したパスの配下を含めてすべて削除
-
shutil.copyfile(src, dst)
src からdst にファイルをコピーする -
shutil.copy2(src, dst)
srcからdstにファイルとパーミッション、その他のメタデータ(作成時間、変更時間、その他の情報)をコピーする。dstがディレクトリなら、その下にsrcの名前でコピーする(内部でcopy関数を使用) -
shutil.copytree(src, dst)
Warning
copyfile関数はファイルの内容をコピーするだけであるのに対して、copy関数やcopy2関数はそのファイルが持つメタデータを(一部ではあっても)コピー先のファイルに維持しようとする。ただし、すべてをコピーできるわけではないので注意
-
shutil.chown(path, user=None, group=None)
指定された path のオーナー user と/または group を変更します。 user はシステムのユーザー名か uid です。 group も同じです。少なくともどちらかの引数を指定する必要があります。 -
shutil.make_archive('圧縮ファイル名', format='zip', root_dir='対象ディレクトリ')
「対象ディレクトリ(パスで指定)」を「圧縮ファイル名.zip」に圧縮する。「圧縮ファイル名」に.zip 拡張子は不要 -
shutil.unpack_archive('圧縮ファイル名.zip', '解凍フォルダ名')
ZIPファイルの中身をすべて解凍(展開)する。解凍フォルダが存在しなくとも新規作成し、そこにZIPファイルの中身が展開される。
アーカイブ化操作#
.ssh ディレクトリにあるすべてのファイルを含む、 gzip された tar ファイルアーカイブを作成