カテゴリ: 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
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説