パラメータの辞書を期待する文字列を、期待される辞書のキーのリストに変換したいと思います。たとえば、次のような f を見つけます。
f("some text %(foo)s %(bar)s") == ['foo', 'bar',] # True
それを行う方法はありますか?
みたいな
>>> import re
>>> re.findall("%\(([^\)]+)\)[sif]", "some text %(foo)s %(bar)s", re.M)
['foo', 'bar']
[sif]
一部は、 http://docs.python.org/library/stdtypes.html#string-formatting-operationsの表のシンボルで拡張できます
これはどう:
>>> S = "some text %(foo)s %(bar)s"
>>> print re.findall(r'%\((.*?)\)', S)
['foo', 'bar']