qingyuanluofeng
天地一扁舟
采纳率7.2%
2015-04-22 01:28 阅读 2.0k

python读取htm文件崩溃

问题是这样的:我用python写的程序去读取.htm文件中的数据,刚开始我用:fr = open("0.htm" , "r")时,程序运行后直接崩溃,后来根据提示的错误信息:ValueError encoding must be one of 'utf_8','big5', or 'gbk'.,因此我用codecs改写成如下形式:

- coding: utf-8 -

import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import codecs
fr = codecs.open(“0.htm” ,”r” , “utf-8”)
至少把打0.htn程序就崩溃的问题解决了。
但是读取文件中的内容的时候:
读到含有中文的某一行内容,程序直接奔溃了:这一行内容如下:

超级画板-ActiveX
错误提示如下:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb3 in position 0: invalid start byte

我的0.htm文件中的编码如下:






它的字符集是:gb2312
是不是意味着我用python打开这个文件的时候应该不用utf-8方式呢?

请教朋友们,这个问题应该如何解决,十分感谢

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • oyljerry oyljerry 2015-04-22 04:44

    还是一样的,你读取后的内容,需要把utf8格式转换为gb2312编码格式才能处理。

    点赞 评论 复制链接分享
  • LiJiancheng0614 lijiancheng0614 2015-04-22 05:54

    你可以用sublime之类的软件把.htm文件提前转化成utf-8。
    或者在python代码里用try把每一种编码都试一下。。

    点赞 评论 复制链接分享

相关推荐