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个回答

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐