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

【毎日Python】Pythonでファイルをコピーする方法|shutil.copy/copy2
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