Python でファイルをコピー

ここでは Python でファイルをコピーする方法を説明します。

Python でファイルをコピーする - shutil.copyfile()

shutil.copyfile(src, dst) 関数を使うと、元のファイル src と同じコンテンツ (データ) をもつファイルを dst としてコピーし作成します。

import shutil
shutil.copyfile('test1.txt', 'test2.txt')

ただし、ファイルのパーミッションなどはコピーされません。

Python でファイルをコピーする - shutil.copy()

shutil.copy(src, dst) 関数を使うと、元のファイル src と同じコンテンツ (データ) をもつファイルを dst としてコピーし作成します。

もし dst がディレクトリを指定した場合、ディレクトリ dst の中に src と同じ名前のファイルとしてコピーを作成します。

shutil.copyfile でコピー先にディレクトリを指定すると、エラー IsADirectoryError になります。

import shutil
shutil.copy('test1.txt', 'dir1')
# ディレクトリ dir1 の中に test1.txt という名前で
# ファイルがコピーが作成される

shutil.copy() ではパーミッションなどのメタデータはコピーされません。

Python でファイルをコピーする - shutil.copy2()

shutil.copy2(src, dst) 関数を使うと、元のファイル src と同じコンテンツ (データ) をもつファイルを dst としてコピーし作成します。

動作は shutil.copy(src, dst) 関数と同様ですが、shutil.copy2(src, dst) 関数はメタデータのコピーも試みます。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門