もう散らからない!Pythonでファイル整理を自動化するスクリプトの作り方

もう散らからない!Pythonでファイル整理を自動化するスクリプトの作り方 ツール

PCの中がファイルでごちゃごちゃになっていませんか?Pythonを使えば、面倒なファイル整理を自動化できます。本記事では、初心者でもすぐに実践できるスクリプトの作成方法から、応用テクニックやエラー対策までわかりやすく解説します。

Pythonでファイル整理を自動化するメリット

日々の業務や学習で増えていくファイルを手作業で整理するのは大変です。しかし、Pythonを使えば次のようなメリットがあります。

  • 大量のファイルを一括で整理できる
  • 拡張子ごとに自動で仕分け可能
  • 手作業によるミスを減らせる
  • 繰り返し使えるスクリプトを作れる

このように、効率化と正確さを両立できる点が大きな魅力です。

準備するもの

Pythonでスクリプトを実行するには、以下の環境が必要です。

  1. Python 3.x(公式サイトからダウンロード
  2. エディタ(VS CodeやPyCharmなど)
  3. 整理したいファイルがあるフォルダ

特別な外部ライブラリは不要で、標準ライブラリだけで十分に対応できます。

基本的なファイル整理スクリプト

拡張子ごとにフォルダ分けする

以下のスクリプトは、指定フォルダ内のファイルを拡張子ごとに自動で仕分けるものです。

import os
import shutil

folder = "C:/Users/YourName/Downloads"
for filename in os.listdir(folder):
    filepath = os.path.join(folder, filename)
    if os.path.isfile(filepath):
        ext = filename.split(".")[-1]
        new_dir = os.path.join(folder, ext)
        os.makedirs(new_dir, exist_ok=True)
        shutil.move(filepath, os.path.join(new_dir, filename))

このスクリプトを実行すると、同じ拡張子のファイルが自動的にフォルダに整理されます。

応用テクニック

日付ごとに整理する

ファイルの作成日や更新日を基準にフォルダ分けすることも可能です。

import os
import shutil
import datetime

folder = "C:/Users/YourName/Documents"
for filename in os.listdir(folder):
    filepath = os.path.join(folder, filename)
    if os.path.isfile(filepath):
        mtime = os.path.getmtime(filepath)
        date = datetime.datetime.fromtimestamp(mtime).strftime("%Y-%m-%d")
        new_dir = os.path.join(folder, date)
        os.makedirs(new_dir, exist_ok=True)
        shutil.move(filepath, os.path.join(new_dir, filename))

この方法を使えば、日ごとのフォルダ分けが可能となり、整理がさらに楽になります。

特定の種類だけを移動する

たとえば、PDFファイルだけを別のフォルダに移動するスクリプトも簡単に作成できます。

import os
import shutil

source = "C:/Users/YourName/Downloads"
target = "C:/Users/YourName/Documents/PDFs"

os.makedirs(target, exist_ok=True)

for filename in os.listdir(source):
    if filename.endswith(".pdf"):
        shutil.move(os.path.join(source, filename), os.path.join(target, filename))

これにより、必要なファイルだけをピックアップして整理できます。

よくあるエラーと対処法

  • PermissionError:ファイルが開かれたままの可能性があります。実行前に閉じましょう。
  • FileExistsError:移動先に同名ファイルがある場合に発生します。リネーム処理を追加すると回避できます。
  • パスのエラー:Windowsでは「\」ではなく「/」を使うか、raw文字列(r”…”)で指定しましょう。

これらを意識することで、安定してスクリプトを運用できます。

定期的に自動実行する方法

せっかくスクリプトを作っても、毎回手動で実行するのは面倒です。そこで、以下の方法を使えば定期的に自動化できます。

  • Windows:タスクスケジューラに登録
  • Mac/Linux:cronで定期実行

これにより完全自動化が実現し、常にフォルダを整理された状態に保てます。

効率化のためのヒント

より効率的に整理するためには、次の工夫も有効です。

  • フォルダごとに異なるルールを設定する
  • ログを出力して処理結果を確認する
  • 正規表現を使ってファイル名ごとに条件を設定する

こうした工夫で、自分の用途に合った柔軟な整理が可能になります。

プログラミング初心者におすすめのサービス

「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、

テックアカデミーがおすすめです。

AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。

さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。

テックアカデミー無料相談

また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富な講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。

書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。

また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験や知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。

こちらのリンクから詳細をチェックしてみてください。

▶ ココナラを活用する

まとめ

Pythonでファイル整理を自動化すれば、時間の節約と効率化が一気に進みます。拡張子や日付で仕分ける基本から、定期実行までマスターすれば、日常のPC作業がぐっと楽になるでしょう。

以下のリンクから、

SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。

SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

参考リンク: shutil公式ドキュメント, Real Python

コメント

タイトルとURLをコピーしました