ファイル整理スクリプトを作って分かったこと|Python実践ログ | SORAXIOM

ファイル整理スクリプトを作って分かったこと

スポンサーリンク
Python実践ログ
スポンサーリンク

きっかけは「散らかったフォルダ」

気づくと、作業フォルダの中が
ファイルでいっぱいになっていました。

  • 名前が似ているファイル
  • いつ作ったか分からないファイル
  • もう使っていないファイル

人の手で整理するのは面倒で、
「これはPythonに任せられるかもしれない」
と思ったのが始まりです。


最初に書いたスクリプト

最初は、とにかく分類できればいいと思い、
拡張子だけで分ける形にしました。

for f in os.listdir("target"):
    if f.endswith(".csv"):
        shutil.move(f, "csv/")
    elif f.endswith(".txt"):
        shutil.move(f, "text/")

この時点では、
「動いているからOK」でした。


すぐに問題が出た

実際に使い始めると、
すぐに困ることが起きました。

  • 同名ファイルが上書きされる
  • 想定外の拡張子が混ざる
  • 途中で止まったときに元に戻せない

整理するつもりが、
逆に不安が増えました。


失敗の原因

原因は単純でした。

  • 安全に戻せる設計になっていない
  • 判断基準が粗すぎる
  • ログが残らない

「整理する」という言葉に引っ張られて、
慎重さが足りていませんでした。


設計を見直したポイント

そこで、次の点を見直しました。

  • まず一覧を出す
  • 実際には移動せず、コピーで試す
  • 処理内容をログに残す
def list_target_files(path):
    return os.listdir(path)

def classify(file):
    return os.path.splitext(file)[1]

いきなり動かさず、
「確認できる状態」を作ったことで、
安心して使えるようになりました。


作って分かったこと

このスクリプト作りで分かったのは、

  • ファイル操作は想像以上に危険
  • 「整理」は破壊的になりやすい
  • 最初は動かさない設計が正解

ということです。


おわりに

この話は、
ファイル整理スクリプトを作ってみて
安全性の大切さに気づいた実践ログです。

Pythonは便利ですが、
扱う対象が大きいほど、
慎重さが必要だと感じました。

コメント

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