Home » Python » Pythonでファイル名を一括変更する

Pythonでファイル名を一括変更する

動作検証バージョン: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:]))

サンプルスクリプトで行っている処理

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でファイル名を一括変更する

「Python」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.