初期設定
from pprint import pprint
import re
# ShotCode作成用エクスプレッションコード
_expr = '{SHOW}_{SEQ}_{SHOT}_{TASK}'
# 調べるショットコード
_name = 'TES_003_0050_Comp_v001'
エクスプレッションのコードを最適化
# エクスプレッションの {} を除去
_shotcode = re.sub(r'{|}', '', _expr)
print(_shotcode)
# Result: SHOW_SEQ_SHOT_TASK
メタデータリストを作成
# 辞書型のKEYとなるリストを作成
_key_list = _shotcode.split('_')
# 辞書型のVALUEとなるリストを作成
_value_list = _name.split('_')
print(_key_list)
print(_value_list)
# Result : ['SHOW', 'SEQ', 'SHOT', 'TASK']
# Result :['TES', '003', '0050', 'Comp', 'v001']
2つのリストから辞書を作成
_shot_dict = dict(zip(_key_list, _value_list))
print(_shot_dict)
# Result:
{'SHOW': 'TES', 'SEQ': '003', 'SHOT': '0050', 'TASK': 'Comp'}
辞書から要素を取得
# 辞書から要素を取得
show = _shot_dict.get('SHOW')
epi = _shot_dict.get('EPI')
seq = _shot_dict.get('SEQ')
shot = _shot_dict.get('SHOT')
task = _shot_dict.get('TASK')
print(show, epi, seq, shot)
# Result : TES None 003 0050