回答編集履歴

1

ソースを追記しました。

2022/10/02 11:51

投稿

tatsu99
tatsu99

スコア5458

test CHANGED
@@ -1,6 +1,9 @@
1
1
  >変更後の名前は日々変わるので都度入力したい。
2
2
  とのことですが、
3
3
  以下のようなCSVファイルを作成しておき、その内容に従ってリネームするのは、いかがでしょうか。
4
+ CSVファイル名はrename.csv固定です。(カレントディレクトリ下においてください)
5
+
6
+
4
7
  rename.csv
5
8
  ```CSV
6
9
  #変更前ファイル名,変更後ファイル名
@@ -8,3 +11,29 @@
8
11
  B.png,い.png
9
12
  C.png,う.png
10
13
  ```
14
+ ```
15
+ import csv
16
+ import glob
17
+ import os
18
+ import os.path
19
+ dict_name = {}
20
+ with open("rename.csv", encoding='utf-8') as input_file:
21
+ reader = csv.reader(input_file)
22
+ #ヘッダはスキップ
23
+ header = next(input_file)
24
+ for oldname,newname in reader:
25
+ #変更前の文字を小文字に変換
26
+ key = oldname.lower()
27
+ dict_name[key] = newname
28
+ path = './**/*.png'
29
+ files = glob.glob(path)
30
+ for file in files:
31
+ apath = os.path.abspath(file)
32
+ name = os.path.basename(apath).lower()
33
+ if name in dict_name:
34
+ newpath = os.path.dirname(apath) + '\\' + dict_name[name]
35
+ print(apath,'==>',newpath)
36
+ os.rename(apath,newpath)
37
+
38
+ ```
39
+