用指定的变量替换python字符串的部分

时间:2015-05-07 01:48:53

标签: python string formatting

目前,我正处理一条消息,表示我希望包含多个更改变量。现在我不确定我是否解释了这一点,因此这里有一个例子:

  

"""

     

Hello world!

     

%S

     

%(这里有什么?)

     

""" .format()

基本上我想申请另一个"%s"虽然我不知道如何这样做。

对不起,如果这很容易;如果有关于上述问题的方法,我还没有找到很多信息。

感谢您的帮助,谢谢!

编辑:

  

REPLY_MENTION_TEMPLATE ="""

     

示例消息:

     

%S

     

{pm_link}。

     

{info_post}。

     

| {source_link} |

     

""" .format(pm_link = pm_link,info_post = info_post,source_link = source_link)

     

exampleMess =(REPLY_MENTION_TEMPLATE%eampleVar)

(所以基本上,我想添加另一个"%"所以我可以输入另一个变量)

1 个答案:

答案 0 :(得分:0)

您可以将多个键/值对传递给Python的str.format()

  

format(format_string, *args, **kwargs) format()是主要的API   方法。它需要一个格式字符串和一组任意位置   和关键字参数。 format()只是一个调用的包装器   vformat()。

示例:

>>> print "Hello {foo:s} and {bar:s}".format(foo="World", bar="Foobar!")
Hello World and Foobar!

但是,可能建议您在此使用String Templates或其他模板引擎,例如Jinja2

基本Jinja2示例:

from jinja2 import Environment

HTML = """
<html>
<head>
<title>{{ title }}</title>
</head>
<body>

Hello.

</body>
</html>
"""

def print_html_doc():
    print Environment().from_string(HTML).render(title='Hellow Gist from GutHub')

您可以轻松使用pip安装Jinja2:

pip install jinja2