100個ほど存在するファイルの名前を変更したいシーンがあり、Pythonでスクリプトを作成しました。
仕様
元のファイル名が、
ch1_3a.jpg
のような形になっているファイルのアンダーバーを「x」に変更して、
ch1x3a.jpg
にするスクリプトです。
Pythonを使わなくても対応可能でしたが、条件が複雑になったときに応用しやすいPythonで、あえて作ってみました。
ファイル名を変更するサンプル
以下のスクリプトを実行すると、Cドライブのtempフォルダーにある、jpgファイルの名前が一括変更されます。
import os
path = 'C:\\temp\\'
files = glob.glob(path + '*.jpg')
for f in files:
org = os.path.basename(f)
os.rename(f, os.path.join(path, org[:3] + 'x' + org[4:]))
サンプルスクリプトで行っている処理
glob.glob関数で、指定フォルダーに存在するjpgファイル名のリストを取得します。
path = 'C:\\temp\\'
files = glob.glob(path + '*.jpg')
取得したリストに対するfor文の中で、
for f in files:
os.path.basename関数を使って、パスを含まないファイル名を取得し、
org = os.path.basename(f)
os.rename関数で、ファイル名を変更しています。
os.rename(f, os.path.join(path, org[:3] + 'x' + org[4:]))
もっとシンプルな書き方もできそうですが、この程度のコードのほうが、応用が効きやすいように感じています。
最終更新日時:2021-02-01 16:49
Home » Python » Pythonでファイル名を一括変更する
- Newer:Word VBAでアクティブページの全図形を選択する
- Older:『Excel VBAユーザーのためのWord VBA入門(1):Document・Range・Selectionの基本編』を2月中旬に出します。