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文によるループ処理(繰り返し処理)で、enumerate()関数を使用し、画像ファイルのインデックス番号(カウント、順番)と要素を取得し、iとfilename変数に格納します。

格納後、dstという変数を作成し、その中に、「img」+「str(i)(インデックス番号(文字列型))」+「.jpg」を格納します。ファイルの名前を変更した後の情報を格納します。

その後、os.rename()関数を使用します。os.rename()関数の括弧内の第1の引数,パラメーターには、名前を変更する前の情報を格納したfilename変数を渡します。第2の引数,パラメーターには名前を変更した後のファイルを置く場所のパスと、名前を変更した後の情報を格納したdst変数を渡します。これで、for文によるループ処理(繰り返し処理)を使用していますので、全てのファイルの名前を変更することができます。

■実行

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

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

コメント

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