Pythonでファイル名の先頭固定文字列を一括削除をしたい
運動不足気味なので、散歩でもしようかと思っています。幸いまだ花粉症は発症していないので、うらあたたかくなってきた今の季節だと桜と梅の両方を楽しめるので、3月は絶好の散歩日和です。
散歩してる間って暇なので、動いている最中にラジオ的なものを聞きたい。そうなんです。peach fizzはもはや静寂を楽しめない悲しい生き物に成り下がってしまいました。そこで、YouTubeからトークメインの気になるトピックについて解説している動画の音声をダウンロードし、mp3にいれようと試みました。しかし、ファイル名の頭にmp3変換サービス名称がテンプレ追加されているため、ファイル名が長くなりすぎ、現在再生中のファイル名称の識別が難しいです。なので、ファイル名の頭に入っている固定文字列を削除したいところです。
こういう時にひとつずつファイル名を変更するのは面倒くさいですね。
というわけで、Pythonで一括変更プログラムを作成しました。
import glob import os // mp3が格納されているフォルダパス path = "C:\\Users\\peach\\Downloads\\" // ファイルの先頭の固定文字列(削除対象) filehead = 'mp3service - ' files = glob.glob(path + filehead + '*.mp3') for f in files: new_name = f[-1*(len(f)-len(path)-len(filehead)):] os.rename(f, os.path.join(path, new_name))
このファイルに名称をつけて(例えばrename.py)、コマンドプロンプトから実行すればプログラムが実行されます。
python rename.py
ちなみに、Windowsだとエクスプローラーのアドレスバーに「cmd」と入力+Enterすると、現在エクスプローラーで開いているフォルダをカレントディレクトリとしたコマンドプロンプトが起動できて便利です。