如何加入包含引号的字符串?以下是生成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+'"'+">"
但我想知道是否有另一种更简单的方法。
答案 0 :(得分:4)
是的,您可以对print
语句使用单引号字符串,然后逐字地包含双引号字符串:
print '<img src="' + site + '">'
我通常更喜欢使用str.format()
来做这种事情,因为它使输出的位置更加明显。
print '<img src="{0}">'.format(site)
但是,如果您生成大量HTML,最好使用像Jinja2这样的模板语言,它会处理自动转义,而不是更好。
答案 1 :(得分:2)
Python并不关心你使用哪个引号。
print '<img src="' + site + '">'
答案 2 :(得分:1)
其他人已经展示了.format
非常酷。另一种方式可以是:
print "<img src='%s'>" % site
答案 3 :(得分:1)
您也可以始终转义内部引号字符:
print "<img src=\""+site+"\">"