きっかけは「散らかったフォルダ」
気づくと、作業フォルダの中が
ファイルでいっぱいになっていました。
- 名前が似ているファイル
- いつ作ったか分からないファイル
- もう使っていないファイル
人の手で整理するのは面倒で、
「これは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は便利ですが、
扱う対象が大きいほど、
慎重さが必要だと感じました。


コメント