カテゴリ: Python 更新日: 2025/12/14

Pythonでファイルをコピー・移動・削除する方法!shutilモジュール入門

Pythonでファイルをコピー・移動・削除する方法(shutilモジュール)
Pythonでファイルをコピー・移動・削除する方法(shutilモジュール)

先生と生徒の会話形式で理解しよう

生徒

「Pythonで作ったファイルを別の場所にコピーしたり、移動したり、削除したりすることはできますか?」

先生

「はい、Pythonではshutilモジュールを使うと簡単にファイルのコピーや移動、削除ができます。」

生徒

「shutilモジュールって聞いたことがありません。何ですか?」

先生

shutilは、Pythonでファイルやフォルダをまとめて操作するための便利なモジュールです。コピーや移動、削除などを簡単に行えます。」

生徒

「具体的な使い方を見せてください!」

先生

「それでは基本から順番に解説します。」

1. shutilモジュールでファイルをコピーする方法

1. shutilモジュールでファイルをコピーする方法
1. shutilモジュールでファイルをコピーする方法

ファイルをコピーするには、shutil.copy()shutil.copy2()を使います。copy2()はコピー時にファイルの作成日時などの情報も保持します。


import shutil

# ファイルをコピー
shutil.copy("example.txt", "copy_example.txt")
print("example.txtをcopy_example.txtにコピーしました。")

この例では、カレントディレクトリにあるexample.txtというファイルをcopy_example.txtという名前でコピーしています。

2. ファイルを別のフォルダにコピーする方法

2. ファイルを別のフォルダにコピーする方法
2. ファイルを別のフォルダにコピーする方法

コピー先が別のフォルダの場合も簡単です。コピー先のフォルダパスを指定します。


# ファイルをフォルダにコピー
shutil.copy("example.txt", "backup_folder/example.txt")
print("example.txtをbackup_folderにコピーしました。")

事前にコピー先のフォルダが存在するか確認しておくと安全です。

3. ファイルを移動する方法

3. ファイルを移動する方法
3. ファイルを移動する方法

ファイルの移動や名前の変更には、shutil.move()を使います。


# ファイルの移動
shutil.move("example.txt", "backup_folder/example.txt")
print("example.txtをbackup_folderに移動しました。")

移動はコピーと削除を同時に行う操作と考えるとわかりやすいです。元の場所からファイルがなくなり、新しい場所にファイルが移動します。

4. ファイルを削除する方法

4. ファイルを削除する方法
4. ファイルを削除する方法

ファイルを削除するにはos.remove()pathlib.Path.unlink()を使います。shutilでフォルダごと削除する場合はshutil.rmtree()を使います。


import os
from pathlib import Path

# ファイルを削除
os.remove("copy_example.txt")
print("copy_example.txtを削除しました。")

# pathlibを使った場合
file_path = Path("backup_folder/example.txt")
file_path.unlink()
print("backup_folder/example.txtを削除しました。")

フォルダごと削除したい場合はshutil.rmtree("フォルダ名")を使います。中身が入っているフォルダも一括で削除できます。


# フォルダごと削除
shutil.rmtree("backup_folder")
print("backup_folderを削除しました。")

5. shutilを使う際の注意点

5. shutilを使う際の注意点
5. shutilを使う際の注意点
  • コピー先のフォルダが存在しない場合はエラーになるので、事前に作成しておくかos.makedirs()を使います。
  • 移動や削除を行うと元に戻せない場合があるので注意してください。
  • ファイルの上書きを確認したい場合は、os.path.exists()で存在確認をしてから操作すると安全です。

import os

if os.path.exists("backup_folder/example.txt"):
    print("既にファイルが存在します。")
else:
    shutil.copy("example.txt", "backup_folder/example.txt")

6. まとめて使った実践サンプル

6. まとめて使った実践サンプル
6. まとめて使った実践サンプル

最後に、ファイルをコピーして移動し、削除する操作をまとめたサンプルです。


import shutil
from pathlib import Path
import os

# コピー先フォルダを作成
Path("backup_folder").mkdir(exist_ok=True)

# ファイルをコピー
shutil.copy("example.txt", "backup_folder/example.txt")

# ファイルを移動(名前変更も可能)
shutil.move("backup_folder/example.txt", "backup_folder/moved_example.txt")

# ファイルを削除
os.remove("backup_folder/moved_example.txt")

# フォルダ削除
shutil.rmtree("backup_folder")
print("ファイル操作の処理が完了しました。")

これでPythonを使ったファイル操作の基本は理解できます。

カテゴリの一覧へ
新着記事
New1
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
New2
Flask
Flaskアプリのセキュリティ対策まとめ!初心者向けに基本をやさしく解説
New3
Flask
FlaskでCookieを安全に使う方法!HttpOnly・Secureフラグの使い方を徹底解説
New4
Flask
Flaskで外部APIと連携する方法!requestsライブラリの使い方を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.2
Java&Spring記事人気No2
Python
Pythonでトランザクション処理を実装する方法を完全解説!commit・rollbackで安全なSQL操作
No.3
Java&Spring記事人気No3
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.4
Java&Spring記事人気No4
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.5
Java&Spring記事人気No5
Python
Pythonの文字列から一部を抽出する方法!スライスを使った基本的な切り出し方
No.6
Java&Spring記事人気No6
Flask
Flask‑RESTfulでREST APIを構築する手順まとめ!初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
Flask
Flaskで開発中にデータベースを初期化する方法!初心者でもわかる便利なTips
No.8
Java&Spring記事人気No8
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本