在变量中包含引号

时间:2012-11-17 02:05:09

标签: python

我正在用Python编写一个非常简单的搜索引擎,并且必须使用HTML代码来创建一个带有表格的HTML页面。这是我给出的代码:

<html>
<title>Search Findings</title>
<body>
<h2><p align=center>Search for "rental car"</h2>
<p align=center>
<table border>
<tr><th>Hit<th>URL</tr>
<tr><td><b>rental car</b> service<td> <a href="http://www.facebook.com">http://www.avis.com</a></tr>
</table>
</body>
</html>

这在Python文件之外看起来很好,但我需要用变量KEYWORD替换租车。当我尝试将以<h2>开头的行存储为变量以便使用.replace方法时,会出现问题。由于中间的引用,Python会感知语法错误。有没有办法可以将它存储为变量?或者我还有另一种方法可以替换这些词吗?

2 个答案:

答案 0 :(得分:5)

使用反斜杠转义它,或使用单引号字符串,或使用"""表示长块:

s = '<h2><p align=center>Search for "rental car"</h2>'
s = "<h2><p align=center>Search for \"rental car\"</h2>"
s = """
<p>This is a <em>long</em> block!</p>
<h2><p align=center>Search for "rental car"</h2>
<p>It's got <strong>lots</strong> of lines, and many "variable" quotation marks.</p>
"""

答案 1 :(得分:0)

这是PHP和Python等语言的重要组成部分,单引号字符串和双引号字符串之间的可互换性,只要内部引号与外部引号相反即可。更重要的是,当Python在两者之间进行切换时,它不会改变逃逸的工作方式。但是,对于PHP,单引号字符串不会处理除单引号和反斜杠之外的转义。例如:

output = '<h2><p align=center>Search for "' + search + '"</h2>'
output = "<h2><p align=center>Search for \"" + search + "\"</h2>"

长块字符串不能用于连接,您需要使用.replace(),这比连接更昂贵。