【毎日Python】Pythonでファイルをコピーする方法|shutil.copy/copy2

copy
こつこつPython
import shutil

Pythonでファイルをコピーする方法です。
使用するのは、Pythonのshutilモジュールのcopyメソッドです。
shutilは高水準のファイル操作を行うためのモジュールです。
高水準とは、たくさんのことをできる、というくらいの認識でよいです。

shutil.copy('./copy_from/01.txt','./copy_to')

まず、copy_fromディレクトリにあるファイルを、同じ名前でcopy_toディレクトリにコピーしてみましょう。
shutil.copyの第一引数にコピー元のファイルパス、第二引数にコピー先のディレクトリパスを指定します。
実行します。
同じ名前でファイルがコピーされました。
ちなみにshutilのcopyメソッドを実行すると、コピー先のファイルパスが表示されます。

shutil.copy('./copy_from/01.txt','./copy_to/aa.txt')

次に、別名でファイルをコピーしてみましょう。
shutil.copyの第一引数にコピー元のファイルパス、第二引数にコピー先のファイルパスを指定します。
実行します。
別名でファイルがコピーされました。

shutil.copy2('./copy_from/02.txt','./copy_to/bb.txt')

なお、似たメソッドでcopy2メソッドがあります。
copyメソッドとの違いは、メタデータもコピーできる点です。
メタデータとは、ファイルの作成日や更新日等のデータのことです。
使い方はcopyメソッドとまったく同じです。
shutil.copy2の第一引数にコピー元のファイルパス、第二引数にコピー先のファイルパスを指定します。
実行します。
メタデータを含んだファイルがコピーされました。
ちなみに、copyメソッド、copy2メソッド共にコピー先に同じファイル名があった場合は上書きされてしまいます。
使用する際には、大事なデータを上書きしてしまわないように注意しましょう。

関連メソッド

【毎日Python】Pythonで新しいディレクトリを作成する方法|mkdir

【毎日Python】Pythonで新しいディレクトリを作成や上書きする方法|makedirs

【毎日Python】Pythonでファイルやディレクトリを移動する方法|shutil.move

【毎日Python】Pythonでディレクトリをコピーする方法|shutil.copytree

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト