Pythonで複数のファイルの名前を変更する

Pythonで複数のファイルの名前を変更してみます。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■名前がバラバラな複数のファイルを用意する

Pythonで複数のファイルの名前を変更してみますが、その前に名前がバラバラな複数のファイルを用意します。

今回は著作権フリーの5つの名前がバラバラな画像ファイル(jpg形式)を用意しました。

ファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」になります。

■複数のファイルの名前を変更する

ファイルの用意ができましたので、複数のファイルの名前を変更するスクリプトを書いていきます。

■コード

import os
import glob

path = './test/'
files = glob.glob(path+'*')

for i, filename in enumerate(files):
        dst = "img" + str(i) + ".jpg"
        os.rename(filename, path + dst)

インポートでosモジュールと、globモジュールを呼び出して、pathという変数を作成し、今回用意した画像ファイルが保存されている場所を指定し、格納しておきます。

次にfilesという変数を作成し、glob.glob()でディレクトリの一覧を取得し、格納します。

取得後、for文によるループ処理(繰り返し処理)で、取得したディレクトリ内の全ての画像ファイルをos.rename()でファイルの名前を1つずつ変更していきます。この時にenumerate()を使うことで、画像ファイルのインデックス番号(カウント、順番)を取得し、「img」+「インデックス番号」+「.jpg」という形で名前を変更できます。

■実行

今回のスクリプトを「rename_files.py」という名前でコマンドプロンプトから実行してみます。

実行してみると、今回用意した画像ファイルの名前が、一括で変更されていることを確認できました。

コメント

タイトルとURLをコピーしました