LINUX.ORG.RU

История изменений

Исправление AntonI, (текущая версия) :

А как еще? Если шаблон строки приходит из переменной? Он не то что такой нужен, он такой есть в данном случае;-)

Я наверное определился, как то так будет

el = ... # обрабатываемый элемент входной последовательности
tmp_scope = dict(scope)
while 1:  
    try: dst_seq.append(el.format(**tmp_scope)); break
    except KeyError as ex:
        key = ex.args[0]
        try: tmp_scope[key] = eval(key, _math_dict, scope)  
        except: tmp_scope[key] = '{%s}'%key

На f-строках такое выглядит значительно кривее…

Исходная версия AntonI, :

А как еще? Если шаблон строки приходит из переменной? Он не то что такой нужен, он такой есть в данном случае;-)

Я наверное определился, как то так будет

el = ... # обрабатываемый элемент входной последовательности
tmp_scope = dict(scope)
while 1:  
    try: dst_seq.append(el.format(**tmp_scope)); break
    except KeyError as ex:
        key = ex.args[0]
        try: tmp_scope[key] = eval(key, _math_dict, scope)  
        except: tmp_scope[key] = '{%s}'%key