13916729435 发表于 2015-4-24 08:26:44

Python的file.read()方法无法读全文件

  作为一个python的菜鸟,最近在用python读取html文件内容。

  由于文件本身存在乱码(应该是保存到本地产生的),所以使用以下代码读取时,读取到乱码处就无法返回了。



html = open(filename).read()
  查找了stackoverflow
  http://stackoverflow.com/questions/7297220/cant-get-python-to-read-until-the-end-of-a-file
  说在python的帮助文档中有关于read()的说明(我没有找到):
  Also note that when in non-blocking mode, less data than was requested may be returned, even if no size parameter was given.
  也就是说,即使read不传入size的参数,有可能反回的也不是文档的全部数据,有两种方式解决:
  方法一是使用read(size)方法



def readhtmlfile(filename):
f = open(filename)
html = ''
while True:
tmp = f.read(1024)
if tmp == '':
break
html += tmp
return html

  方法二说是用readline或readlines读取
  但在我的场景,这个方法不管用:P
  欢迎各位大牛指导。
  
  来自:http://www.iyunv.com/anic/
页: [1]
查看完整版本: Python的file.read()方法无法读全文件