python3读文件编码错误怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3读文件编码错误怎么办相关的知识,希望对你有一定的参考价值。

  在python3中系统默认编码是unicode,读取文件经常会编码错误导致报错。


    首先先确认要读取文件的编码,可这样操作:

记事本打开文本文件,点击“文件”-“另存为”查看编码:

如图显示编码就是当前的文件编码,这里是“utf-8”。


    2. 要想用指定编码打开,使用codecs模块

安装模块pip命令:

pip install codecs

    3. 使用codecs模块,例如读取test文件内容并打印:

import codecs
f=codecs.open(r"test.txt","r","gbk")
print(f.read())
f.close()

 (示例的文件是ANSI所以使用GBK读取)

以上就可以正确读取想要的文件了

参考技术A

代码:

# -*- coding: utf-8 -*-

f = open('luciatest1.txt', encoding='gb18030')
filecontent = f.read()
print(filecontent)


运行效果:

参考技术B 应该是你的 command prompt 不是 UTF-8 的缘故,在 print 之前转换成对应的编码,如果是中文系统一般是 gbk 。
你换成gbk编码打开试试。
你把网页存到了本地文件,这个文件的编码才是它的编码,而不是文件里用字符写了utf-8
参考技术C 看你读取的是什么内容把. 一般情况下, 将文件编码 成utf8, 你的python 脚本也声明utf8
这样基本上可以应付绝大部分的乱码问题.
如果有特殊语言, 例如切斯基摩语, 就需要进行特殊处理了
参考技术D <!--
你可以试试在代码最上面加#coding:utf-8 #utf-8改为你文件的编码

或者在获取文件对象的时候加 .encoding='#你文件的编码'
本人也菜鸟,你可以试试
-->

Python-复习-文件操作-21

# 文件处理
# 打开文件
#open(‘路径‘,‘打开方式‘,‘指定编码方式‘)
# 打开方式 r w a r+ w+ a+ b
#r+ 打开文件直接写 和读完再写
# 编码方式 —— utf-8
# 操作文件
# 读
# read 一次性读
# readlines 一次性读
# readline 一行一行读
#不知道在哪儿结束
#视频 图片 rb bytes 按照字节读
# for循环 —— 最好!!!
# 写
# write
# 光标 —— 文件指针
#seek _ 指定光标移动到某个位置
#tell _ 获取光标当前的位置
#truncate _ 截取文件
# 关闭文件
#close

以上是关于python3读文件编码错误怎么办的主要内容,如果未能解决你的问题,请参考以下文章

怎么才能python 的GUI中文不会出现乱码

TXT文件编码为ANSI,怎么实现用JAVA程序转换为Uncoide

day6 字符编码和文件操作

读《Python3 是如何解决棘手的字符编码问题的》的笔记

python3在linux下的编码错误

字符编码 乱码问题