🦎
フォルダの連番をずらすPythonワンライナー
"00-東京都"のように連番付きで都道府県のフォルダを作成したのですが、うっかり1つ抜けてしまい、途中から番号をずらしたくなったということがありました。
Pythonでも使ってさくっと処理しよう~と思ったのですが、意外とさくっといかなかったので備忘録として記録します。
import os, re
[
os.rename(
f"{m.group()}",
f"{int(m.group(1))+1:02}{m.group(2)}"
)
for m in (re.search(r"(\d+)(.+)", x) for x in os.listdir())
]
ファイル名を一括で変更したいときってたまによくあるので、もっとスマートな書き方があればいいのですが。
Discussion
groupは配列アクセスできます。
mがNoneの場合も考慮した方が良さそうです。
for を並べ替えるのもいいかもしれません。
コメントありがとうございます。
groupが配列アクセス可能というのは知りませんでした!
for文もネストで書いた方がPythonっぽくていいですね。
有益な情報ありがとうございます。