2015-05-04 16 views
3

我想从格式化的Python字符串中获取参数列表。从Python中获取命名参数字符串

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

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

我试图做的是这样的:

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

有没有这样做,没有做我自己的功能的一种方式?我无法在String Formatter文档中找到任何内容。

我正在使用Python3,但它会很好,如果它能在2.7以及。

回答

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'] 
+0

谢谢!这正是我所期待的。 – ferewuz