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」という名前でコマンドプロンプトから実行してみます。
実行してみると、今回用意した画像ファイルの名前が、一括で変更されていることを確認できました。
コメント