全てのファイルやフォルダの名前の後ろに文字を加える
↓
import os
dir_path = "./dirname"
dir_list = os.listdir(dir_path)
for i in range(len(dir_list)):
new_file_name = dir_list[i] + "様"
os.rename(os.path.join(dir_path,dir_list[i]),os.path.join(dir_path,new_file_name))
ファイル名やフォルダ名から特定の文字だけを変更・削除
↓
import os
import glob
before_word = "様"
after_word = ""
files = glob.glob('*'+ before_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)
Qiitaで教えていただいた方法
解説
.resolve(True):相対パスを絶対パスに変換
.iterdir():ディレクトリ内のファイル・サブディレクトリ一覧を取得
f:f文字列(フォーマット文字列)
# 後ろに文字を加える
after_word = "様"
p = Path("./dirname").resolve(True)
for filepath in p.iterdir():
filepath.rename(f"{filepath}{after_word}")
# 特定の文字だけを変更・削除
p = Path("./dirname").resolve(True)
before_word = "様"
after_word = ""
for filepath in p.glob(f"*{before_word}*"):
filepath.rename(str(filepath).replace(before_word, after_word))
ファイル名全ての先頭に数字の連番を追加する方法
import os
import glob
path = "./dirname"
files = glob.glob(path + '/*')
i = 0
for f in files:
i = i + 1
os.rename(f,os.path.join(path, str(i) + os.path.basename(f)))
コメント