1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】shutilモジュール ファイルコピー系の関数について整理してみよう

1
Last updated at Posted at 2026-01-17

はじめに

常々会社の上司に「Python実践試験とりなさい」と言われているのでボチボチ勉強しているのですが、shutil のファイルコピー系の関数の仕様が覚えられないので整理してみようと思いました。
なんだよcopy2って 覚えやすい関数名にしろよ

shutil とは

shutil(シャトル)とは、Python標準のライブラリで、ディレクトリやファイル、アーカイブファイルに対して高水準な操作を提供するモジュールのこと。
名前は "shell utilities" が由来となっており、シェルコマンドで行うようなファイル操作をPythonで出来るようにしてくれるようです。

ファイルコピー関数まとめ

copyfile(src, dst)

  • srcというファイルの内容をdstというファイルにコピーする
  • dstはファイルのみ(ディレクトリは不可)
  • メタデータやパーミッションはコピーされず、ファイルの内容だけコピーされる
  • dstがすでに存在する場合、上書きされる

copy(src, dst)

  • srcというファイルの内容をdstというファイルもしくはディレクトリにコピーする
  • dstがディレクトリである場合、dst内にsrcというファイルがコピーされる
  • メタデータはコピーされず、ファイルの内容とパーミッションがコピーされる
  • dstがファイルですでに存在する場合、上書きされる

copy2(src, dst)

  • srcというファイルの内容をdstというファイルもしくはディレクトリにコピーする
  • dstがディレクトリである場合、dst内にsrcというファイルがコピーされる
  • ファイルの内容とパーミッション、メタデータがコピーされる
  • dstがファイルですでに存在する場合、上書きされる

copymode(src, dst)

  • srcというファイルのパーミッションをdstというファイルもしくはディレクトリにコピーする
  • ファイルの中身、メタデータはコピーされない

copystat(src, dst)

  • srcというファイルのパーミッション、最終アクセス時間、最終変更時間、その他もろもろのファイル情報をdstというファイルもしくはディレクトリにコピーする
  • ファイルの中身はコピーされない

copyfile,copy,copy2の関係は以下の通りになります。

関数名 コピー内容 内部処理
copyfile ファイルの内容のみ -
copy ファイルの内容、パーミッション copyfile,copymodeを実行
copy2 ファイルの内容、パーミッション、メタデータ copyfile,copystatを実行

copy,copy2は内部では複数の関数を実行しているというわけですね。

ディレクトリ操作系関数まとめ

rmtree(path)

  • pathで指定したディレクトリ以下のファイルをすべて削除する
  • ignore_errorsをTrueにするとファイル削除時のエラーを無視できる(デフォルトはFalse)

move(src, dst)

  • srcディレクトリ以下のファイルをdstに移動する
  • 移動時のコピー仕様はcopy2(copy_functionで設定できる)

copytree(src, dst)

  • srcディレクトリ以下のファイルをdstにコピーする
  • 移動時のファイルのコピー仕様はcopy2、ディレクトリのコピー仕様はcopystat
    • ファイルのコピー仕様はcopy_functionで設定できる
  • ignoreでコピーの対象外となるファイルを指定できる
    • shutil.ignore_patternsであらかじめ指定することもできる

まとめ

詳しくは公式ドキュメントを参照!
めざせPython実践試験合格!:tada:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?