【发布时间】:2017-05-15 13:49:17
【问题描述】:
好的,我的代码很生疏,所以我一直在借鉴和改编教程。
我开始使用 BeautifulSoup 打开一个文件:
with open('event.html', encoding='utf8') as f:
soup = bs4.BeautifulSoup(f, "lxml")
后来,我需要在同一个文件中找到一个字符串,而 BS 似乎更复杂,所以我做了:
lines = f.readlines()
并与前面的说明放在一起:
with open('event.html', encoding='utf8') as f:
soup = bs4.BeautifulSoup(f, "lxml")
lines = f.readlines()
我感到困惑的是,如果我交换两行并制作如下所示的块:
with open('event.html', encoding='utf8') as f:
lines = f.readlines()
soup = bs4.BeautifulSoup(f, "lxml")
然后我的其余代码将中断。为什么会这样?
【问题讨论】:
-
第一个有效
-
因为 .readlines() 将文件指针前进到文件末尾所以当 BS 尝试读取指针时,指针位于文件末尾
-
那么,我应该使用不同/更好的方法来提取线条吗?
-
您可以根据 user3381590 的回答将指针重置为文件的开头或查看stackoverflow.com/questions/10201008/…
-
订单对我来说并不重要,但我一直在想为什么代码不起作用,然后当我想出重新订购该部分“修复”它时更加困惑......如果有人有一个建议我会接受的
标签: python