Python搜索和替换无法正常工作

时间:2015-02-24 19:07:12

标签: python string replace

我有以下简单的HTML文件。

<html data-noop=="http://www.w3.org/1999/xhtml">
<head>
<title>Hello World</title>
</head>
<body>
SUMMARY1
hello world
</body>
</html>

我希望将其读入python脚本,并将SUMMARY1替换为文本&#34; hi there&#34; (说)。我在python

中执行以下操作
with open('test.html','r') as htmltemplatefile:
    htmltemplate = htmltemplatefile.read().replace('\n','')

htmltemplate.replace('SUMMARY1','hi there')
print htmltemplate

上面的代码将文件读入变量htmltemplate。 接下来,我调用字符串对象的replace()函数将模式SUMMARY1替换为&#34; hi there&#34;。但输出似乎没有搜索和替换SUMMARY1与&#34;嗨那里&#34;。这就是我得到的。

<html data-noop=="http://www.w3.org/1999/xhtml"><head><title>Hello World</title></head><body>SUMMARY1hello world</body></html>

有人能指出我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

open()未返回str,它会返回file个对象。此外,您只是打开它阅读('r'),而不是写作。

你想要做的是:

new_lines = []
with open('test.html', 'r') as f:
    new_lines = f.readlines()
with open('test.html', 'w') as f:
    f.writelines([x.replace('a', 'b') for x in new_lines])

fileinput库让这更容易。