我有以下简单的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>
有人能指出我在这里做错了吗?
答案 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
库让这更容易。