動作検証バージョン:Windows 10 Pro(64-bit)+ Python 3.8.3(32-bit)
100個ほど存在するファイルの名前を変更したいシーンがあり、Pythonでスクリプトを作成しました。
[スポンサードリンク]
仕様
元のファイル名が、
ch1_3a.jpg
のような形になっているファイルのアンダーバーを「x」に変更して、
ch1x3a.jpg
にするスクリプトです。
Pythonを使わなくても対応可能でしたが、条件が複雑になったときに応用しやすいPythonで、あえて作ってみました。
ファイル名を変更するサンプル
以下のスクリプトを実行すると、Cドライブのtempフォルダーにある、jpgファイルの名前が一括変更されます。
import glob
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:]))
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
[スポンサードリンク]