如何读取和写入由\ n空格分隔的文件的HTML?

时间:2017-02-06 23:35:25

标签: python html file-io

我有一个HTML文件,其中\n个空格分隔每个元素标记。我们将此HTML文件称为results_cache.html。我想用Python阅读results_cache.html,然后将其内容写入另一个文件hopeful.html

但是,在撰写内容时,我希望每次弹出hopeful.html时都在\n开始新的一行。我的印象是Python自然会这样做;不幸的是,整个HTML只打印在一行上。

这是我的代码:

lines = [str(line.rstrip('\n')) for line in open('results_cache.html')]

final_cache = open('hopeful.html','w')
for line in lines:
    final_cache.write(str(line))

final_cache.close()

这是hopeful.html看起来像的快照:

'<table>\n <!-- ngRepeat: attempt in vm.getdate() --> <tr ng-repeat="attemp...

......下面没有别的东西。

我想指出的一件事是整条线用单引号包裹。我不知道这是否会影响结果。

使用Selenium Webdriver从网站上删除了HTML。

1 个答案:

答案 0 :(得分:2)

围绕“open('results_cache.html')”的for循环不是一次迭代一行,而是一次迭代一个字符。

with open('results_cache.html') as readfile:
    htmlfile = readfile.readlines()

lines = [line.rstrip('\n') for line in htmlfile]

或者你可以做到这一点并且很脏:

lines = [line.rstrip('\n') for line in open('results_cache.html').readlines()]

但是,如果在使用文件操作时发生异常,使用“with”语句更适合正确清理。