![見出し画像](https://assets.st-note.com/production/uploads/images/76340156/rectangle_large_type_2_a109c85c0f3e0b0158373edf24a3cb29.jpeg?width=800)
Photo by
ryonakano
フォルダ内の画像タイトルを一括変更
フォルダ内の画像タイトルを一括で操作する方法。
今回は以下の3つの変更を行う。
① すでについている名前の前に、新しい名前を追加する
② すでについている名前の後に、新しい名前を追加する
③ すでについている名前の一部を別の文字に置き換える
使用するライブラリ
import glob
import os
作業を始める前に、作業するフォルダと内容に間違いがないかprintで確認
#内容の確認
print(glob.glob('./images/*'))
#今回はカレントディレクトリ内にあるimagesというフォルダに入っている画像を処理するのでパスは'./images/*'
ディレクトリについて(参考URL)
https://26gram.com/directory-meaning
① すでについている名前の前に、新しい名前を追加する
e.g.
**before
Argos.jpg
Beautiful woman.jpg
Christmas Pearl.jpg
**after
Tulip Argos.jpg
Tulip Beautiful woman.jpg
Tulip Christmas Pearl.jpg
#すでについている名前の前に文字を追加
#品目の入力
path = "./images"
files = glob.glob(path + '/*')
for f in files:
#Tulipの部分に追加したい文字を入力する
os.rename(f, os.path.join(path, 'Tulip ' + os.path.basename(f)))
② すでについている名前の後に、新しい名前を追加する
e.g.
**before
Argos.jpg
Beautiful woman.jpg
Christmas Pearl.jpg
**after
Argos_Tulip.jpg
Beautiful woman_Tulip.jpg
Christmas Pearl_Tulip.jpg
#すでについている名前の後に文字を追加
path = "./images"
files = glob.glob(path + '/*')
for f in files:
ftitle, fext = os.path.splitext(f)
#_Tulipの部分に追加したい文字を入力する
os.rename(f, ftitle + '_Tulip' + fext)
③ すでについている名前の一部を別の文字に置き換える
**before
Tulip Argos.jpg
Tulip Beautiful woman.jpg
Tulip Christmas Pearl.jpg
**after
Flower Argos.jpg
Flower Beautiful woman.jpg
Flower Christmas Pearl.jpg
#文字列の置き換え path = "./images"
files = glob.glob(path + '/*')
#ファイル名に含まれる変更したい単語と変更後の単語
before_word = "Tulip"
after_word = "Flower"
#before_wordの単語をafter_wordに変更
for before_file_name in files:
after_file_name = before_file_name.replace(before_word,after_word)
os.rename(before_file_name,after_file_name)
この記事が気に入ったらサポートをしてみませんか?