在做项目时遇到一个问题:python读取文件数据时,总是读不完整,只能读出前几行。后来发现,原始文件中有些字符是乱码的,当程序读到这里时,就会停止。
那如何解决呢?如何将编码统一化,除去不能识别的乱码的字符。
解决这一问题的代码如下:
###将原始文件的编码统一成utf-8
f1=open(r'yuanshi.txt','rb') #打开原始文件
f2 = open('zhuanhuan.txt','w',encoding='utf-8') #新建zhuanhuan空白文件,编码形式为utf-8
d=f1.read() #读取原始文件
da = d.decode('utf-8','replace') #将原始文件数据转换为utf-8编码,replace作用为将程序不能识别的字符转换为“?”
f2.write(da) #向空白文件中写入转换后的数据
f2.close()
f1.close()
这里使用 decode()函数。具体用法参考1:http://www.runoob.com/python/att-string-decode.html
用法参考2:https://www.cnblogs.com/kangmingli/p/8483183.html