4

我正在用 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 会检测到语法错误。有没有办法可以将它存储为变量?还是我必须用另一种方法来替换这些词?

4

2 回答 2

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>
"""
于 2012-11-17T02:08:31.467 回答
0

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

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

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

于 2012-11-17T02:27:15.140 回答