0

我记得知道有一种简单的方法可以在 Python 中很容易地将字符串段插入其他字符串,但我不记得它是如何完成的。例如,假设我正在使用 Python 编辑 HTML,它看起来像这样:

<html>
  <b>Hello, World!</b>
  <b>%</b>
</html>

因此,假设此 HTML 代码存储在一个名为 html 的变量中。现在,假设我要操作此代码并输入以下字符串“我的名字是 Bob”,而不是第二个 b 标记中的 %。

如果有人知道我在说什么,请回答,这是我想使用的一个非常酷的功能。谢谢!

4

3 回答 3

2

您可以附加 % 和一组值:

name = "Bob"
html = "Hello, %s" % (name)

或者命名占位符并使用字典:

html = "Hello, %(name)s" % { name: name }

或使用str.format()

html = "Hello, {0}".format("name")

所有三个结果都是一个字符串Hello, Bob

您也可以像这样使字符串未绑定

html = "Hello, %s" 

然后在必要时绑定占位符

print html
>>> Hello, %s
for name in ["John", "Bob", "Alice"]:
    print html % name
>>> Hello, John
>>> Hello, Bob
>>> Hello, Alice
于 2012-07-01T23:40:45.480 回答
1
html='''<html>
  <b>Hello, World!</b>
  <b>%s</b>
</html>''' % "My name is Bob"

这是简单的字符串格式。您还可以使用以下内容(您可以{variable}多次使用以将其插入多个位置):

html='''<html>
  <b>Hello, World!</b>
  <b>{variable}</b>
</html>'''.format(variable="My name is Bob")

或者,如果要替换其中的每个“%”,可以使用以下内容:

html='''<html>
  <b>Hello, World!</b>
  <b>%</b>
</html>'''.replace('%','Hello my name is Bob')
于 2012-07-01T23:42:26.903 回答
1

有一种使用字符串模板的简单方法

有一个示例代码

import string

htmlTemplate = string.Template(
"""
<html>
<b>Hello, World!</b>
<b>$variable</b>
</html>
""")

print htmlTemplate.substitute(dict(variable="This is the string template"))

您可以使用 $ 在模板字符串中定义变量

于 2012-07-02T07:24:14.700 回答