このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Python入門】ファイルのコピー・名前の変更・削除

ファイルのコピー・名前の変更・削除
ここでは、Python を使ってファイル操作を行う基本的な手法、特にファイルのコピー、名前の変更、削除について学びます。これらの操作は、ファイルのバックアップ作成、整理、不要ファイルの削除など、システム管理やアプリケーションの自動化に非常に役立ちます。ここでは、標準ライブラリの shutil モジュールと os モジュールを用い、サンプルプログラムとともに各関数の構文やオプションの意味を詳しく解説します。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.ファイルのコピー
shutil.copy 関数の概要
shutil.copy 関数は、指定した元ファイルを別の場所または別名でコピーするための関数です。以下の表は、shutil.copy の主なパラメータを示しています。
関数 | 引数 | 説明 |
---|---|---|
shutil.copy() | src, dst | src: コピー元のファイルパス。dst: コピー先のファイルパスまたはディレクトリ。 |
例えば、元のファイル "document.txt" を "document_backup.txt" にコピーするサンプルコードは以下の通りです。
import shutil
# "document.txt" を "document_backup.txt" にコピーする
shutil.copy('document.txt', 'document_backup.txt')
print("ファイルをコピーしました。")
このコードでは、shutil.copy 関数が "document.txt" の内容を読み込み、"document_backup.txt" として同一ディレクトリ内に新たにファイルを作成します。dst がディレクトリの場合、元のファイル名がそのまま使われます。
2.ファイルの名前の変更
os.rename 関数の概要
os.rename 関数は、指定したファイルまたはディレクトリの名前を変更するための関数です。以下の表に、os.rename のパラメータとその意味を示します。
関数 | 引数 | 説明 |
---|---|---|
os.rename() | old, new | old: 現在のファイルまたはディレクトリのパス。new: 新しい名前またはパス。 |
先ほどコピーした "document_backup.txt" の名前を "document_renamed.txt" に変更する例は次の通りです。
import os
# "document_backup.txt" の名前を "document_renamed.txt" に変更する
os.rename('document_backup.txt', 'document_renamed.txt')
print("ファイルの名前を変更しました。")
このコードは、元ファイルのパスを新しいパスに変更することで、ファイル名を更新します。新しい名前にパスを含めることで、ディレクトリの移動も同時に行うことが可能です。
3.ファイルの削除
os.remove 関数の概要
os.remove 関数は、指定したファイルを削除するための関数です。以下の表は、os.remove の主要な引数を示しています。
関数 | 引数 | 説明 |
---|---|---|
os.remove() | path | 削除するファイルのパス。 |
名前変更後の "document_renamed.txt" を削除する例は、以下の通りです。
import os
# "document_renamed.txt" を削除する
os.remove('document_renamed.txt')
print("ファイルを削除しました。")
このコードは、指定されたパスのファイルを完全に削除します。削除されたファイルは元に戻せないため、実行時には注意が必要です。
まとめ
ここでは、Python の shutil モジュールと os モジュールを用いて、ファイルのコピー、名前の変更、削除を行う方法を解説しました。各操作は、以下のような流れで実行されます。
- shutil.copy を使って元のファイルを別名でコピーし、バックアップを作成。
- os.rename を利用して、コピーしたファイルの名前を変更し、整理や移動を実現。
- os.remove を用いて、不要になったファイルを削除し、ディスクスペースを確保。
これらの基本操作を理解することで、ファイル管理の自動化やシステムメンテナンスがより効率的に行えるようになります。実際に JupyterLab でサンプルコードを試して、各関数の動作を確認してみてください。