メインコンテンツまでスキップ

Pythonでファイルをコピーする方法

Pythonでファイルをコピーする方法

Pythonでファイルをコピーする手順とコードの例を紹介します。

目次

  1. はじめに
  2. shutilモジュールの使用
  3. osモジュールの使用
  4. open()関数の使用
  5. 結論

はじめに

ファイルのコピーは、Pythonを含むどんなプログラミング言語でもよく行われるタスクです。Pythonでは、ファイルをコピーするための複数の方法があります。このチュートリアルでは、3つの異なる方法を探ります。

  1. shutilモジュールの使用
  2. osモジュールの使用
  3. open()関数の使用

それぞれの方法について、コードの例を交えて詳しく見ていきましょう。

shutilモジュールの使用

Pythonのshutilモジュールは、ファイル操作のための高レベルなインタフェースを提供します。ファイルのコピー、移動、削除などの機能が含まれています。shutilモジュールを使用してファイルをコピーする方法は次の通りです。

import shutil

# ソースファイルとコピー先のファイルパスを指定する
source_file = 'path/to/source/file.txt'
destination_file = 'path/to/destination/file.txt'

# ファイルをコピーする
shutil.copy(source_file, destination_file)

上記の例では、'path/to/source/file.txt'をコピーしたいファイルの実際のパスに、'path/to/destination/file.txt'をコピー先のパスに置き換えてください。

shutil.copy2()を使用すると、コピーされたファイルに元のファイルのメタデータ(タイムスタンプなど)を保持することもできます。

import shutil

# ソースファイルとコピー先のファイルパスを指定する
source_file = 'path/to/source/file.txt'
destination_file = 'path/to/destination/file.txt'

# メタデータを保持してファイルをコピーする
shutil.copy2(source_file, destination_file)

osモジュールの使用

Pythonのosモジュールは、オペレーティングシステムとのやり取りするための方法を提供します。ファイルやディレクトリの操作に使用する関数が含まれています。osモジュールを使用してファイルをコピーする方法は次の通りです。

import os

# ソースファイルとコピー先のファイルパスを指定する
source_file = 'path/to/source/file.txt'
destination_file = 'path/to/destination/file.txt'

# ファイルをコピーする
os.system(f'cp {source_file} {destination_file}')

上記の例では、'path/to/source/file.txt'をコピーしたいファイルの実際のパスに、'path/to/destination/file.txt'をコピー先のパスに置き換えてください。

注意: os.system()関数はシェルコマンドを実行します。この場合、cpコマンドを使用してファイルをコピーしています。

open()関数の使用

Pythonのopen()関数は主にファイルの読み書きに使用されますが、ファイルの内容を読み込んで新しいファイルに書き込むためにも利用することができます。open()関数を使用してファイルをコピーする方法は次の通りです。

# ソースファイルとコピー先のファイルパスを指定する
source_file = 'path/to/source/file.txt'
destination_file = 'path/to/destination/file.txt'

# ソースファイルを読み込みモードで開く
with open(source_file, 'r') as file:
# ソースファイルの内容を読み込む
file_contents = file.read()

# コピー先のファイルを書き込みモードで開く
with open(destination_file, 'w') as file:
# コンテンツをコピー先のファイルに書き込む
file.write(file_contents)

上記の例では、'path/to/source/file.txt'をコピーしたいファイルの実際のパスに、'path/to/destination/file.txt'をコピー先のパスに置き換えてください。

結論

Pythonでファイルをコピーするには、shutilモジュール、osモジュール、open()関数などさまざまな方法があります。自分のニーズに合った方法を選択しましょう。

ソースファイルとコピー先のファイルパスを実際のパスに置き換えることを忘れないでください。これでPythonでファイルをコピーする知識を手に入れました!