\

Pythonでは、shutilという標準ライブラリを使用してファイルをコピーすることができます。この記事では、shutilモジュールのcopyfilecopycopy2関数を用いたファイルのコピー方法について解説します。

shutilモジュールとは

shutilモジュールは、Pythonの標準ライブラリで、ファイルのコピーに使用される定番モジュールです。このモジュールには、ファイルのコピー用の関数が3種類用意されています。

  • shutil.copyfile: ファイルのみをコピーし、パーミッションデータやメタデータはコピーしません。
  • shutil.copy: パーミッションデータはコピーしますが、メタデータはコピーしません。
  • shutil.copy2: パーミッションデータ、メタデータともにコピーします。

ファイルのコピー方法

それぞれの関数について、サンプルコードを交えながら使用方法を紹介します。

copyfile関数

copyfile関数は、ファイルのみをコピーし、パーミッションデータやメタデータはコピーしません。

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copyfile(src, dst)

copy関数

copy関数は、パーミッションデータはコピーしますが、メタデータはコピーしません。

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copy(src, dst)

copy2関数

copy2関数は、パーミッションデータ、メタデータともにコピーします。

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copy2(src, dst)

上書きを避ける方法

copyfile関数、copy関数、copy2関数とも、同名のファイルがあった場合、上書きでコピーしてしまいます。上書きを避けたい場合は、osモジュールを使ってファイルの存在確認を行い、同名のファイルが存在しないことを確認することで、上書きを回避できます。

import shutil
import os

src = 'source_file_path'
dst = 'destination_file_path'

if not os.path.exists(dst):
    shutil.copy(src, dst)

以上がPythonでファイルをコピーする方法になります。これらの関数を使うことで、Pythonで簡単にファイルのコピーが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です