从Python字符串中获取命名参数

时间:2015-05-04 11:20:08

标签: python python-3.x

我正在尝试从格式化的Python字符串中获取参数列表。

所以我的字符串看起来像这样:

formatted_string = 'I am {foo}. You are {{my}} {bar}.'

我正在尝试做类似的事情:

get_named_parameters(formatted_string) = ['foo', 'bar']

有没有办法不做自己的功能呢?我在String Formatter docs中找不到任何东西。

我正在使用Python3,但如果在2.7中也可以使用它会很好。

1 个答案:

答案 0 :(得分:3)

使用string.Formatter.parse

In [7]: from string import Formatter

In [8]: [x[1] for x in Formatter().parse(formatted_string) if x[1] is not None]
Out[8]: ['foo', 'bar']