\

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

shutilモジュールとは

shutilモジュールは、ファイルのコピーで使用される定番モジュールです。Pythonの標準モジュールであるため、インストールせずに使用することができます。

ファイルのコピー方法

shutilモジュールには、ファイルのコピー用の関数が3種類用意されています。

  1. shutil.copyfile: ファイルのパーミッションも、メタデータもコピーしない。
  2. shutil.copy: ファイルのパーミッションはコピーするが、メタデータはコピーしない。
  3. shutil.copy2: ファイルのパーミッションもメタデータもコピーする。

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

shutil.copyfile

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

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copyfile(src, dst)

shutil.copy

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

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copy(src, dst)

shutil.copy2

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

import shutil

src = 'source_file_path'
dst = 'destination_file_path'

shutil.copy2(src, dst)

上書きを避ける方法

shutil.copyfileshutil.copyshutil.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でのファイル操作をより効率的に行いましょう。

【python】ファイル、フォルダのコピー【shutilモジュール、os/pathlibとの組合せ】

Pythonでファイルをコピーする方法4選: copyfile, copy, copy2, copytree

投稿者 admin

コメントを残す

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