Untitled

Examples

解説

初期設定

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