プログラムの中で使用している画像ファイルの名前を抽出する

tokです。こんばんは。

先読みすべきファイルのリストを作成しています。

特定のファイル内に記載されているpngファイルを出力するpythonスクリプト(png.py)を書き、

import re

with open('ファイル名', 'r') as f:
    lines = f.readlines()
    for line in lines:
        for m in re.finditer(r'[\w-]+.png', line, re.MULTILINE):
            print(m.group())

以下のように実行すると重複を除いたファイルリストが出来上がります。

$ python png.py | sort | uniq > pnglist

次に以下のようにファイルリストにawkをかけると

$ cat pnglist | awk '{print "'\''" $0 "'\'':" NR-1 ","}' > imgdic

以下のようなjavascriptのオブジェクト型(連想配列)の形式で出力されるので、これをもとに一括で読み込んでいこうとしています。

(略)
'map00.png':14,
'map01.png':15,
'map02.png':16,
'map03.png':17,
(略)

awkとかsedとか便利なんですが、使い方が覚えられず、いつも調べながら使っています。。。

おやすみなさい。。

コメント

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