0

如何加入包含引号的字符串?这是一个生成 HTML 图像标签的程序的示例。但是程序打印不正确。

import sys

sys.stdout = open("/Users/kyle/images.html", "w")
for x in xrange(100,490):
    site = "http://www.example.com/image"+str(x)+".jpg"
    print "<img src=""+site+"">"

它将以这种方式正确打印print "<img src="+'"'+site+'"'+">" 但我想知道是否还有另一种更简单的方法。

4

4 回答 4

4

是的,您可以在语句中使用单引号字符串print,然后按字面意思包含双引号字符串:

print '<img src="' + site + '">'

不过,我通常更喜欢使用str.format()这种东西,因为它使输出的位置更加明显。

print '<img src="{0}">'.format(site)

但是,如果您要生成大量 HTML,则最好使用Jinja2之类的模板语言,它可以更好地处理自动转义等。

于 2013-08-14T01:59:52.093 回答
2

Python 不在乎你使用哪个引号。

print '<img src="' + site + '">'
于 2013-08-14T01:59:42.263 回答
1

其他人已经展示了.format这非常酷。另一种方法可以是:

print "<img src='%s'>" % site
于 2013-08-14T02:00:31.143 回答
1

您也可以随时转义内部引号字符:

    print "<img src=\""+site+"\">"
于 2013-08-14T02:21:59.440 回答