Если имена всех заполнителей названы, специальный словарь может использоваться для перехвата того, какие ключи пытались получить доступ и регистрироваться в массиве.
def format_keys(str_):
class HelperDict(dict):
def __init__(self):
self._keys = []
def __getitem__(self, key):
self._keys.append(key)
d = HelperDict()
str_.format_map(d)
return d._keys
Обратите внимание, что если есть неназванные заполнители, IndexError будет увеличена на .format()
(индекс кортежа за пределами диапазона).