鱼C论坛

 找回密码
 立即注册
查看: 2444|回复: 29

[已解决]pyhton 读取文件的编码问题

[复制链接]
回帖奖励 5 鱼币 回复本帖可获得 5 鱼币奖励! 每人限 1 次(中奖概率 80%)
发表于 2018-2-14 20:33:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 微末非末 于 2018-2-15 09:09 编辑

求大佬们耐心看完

情况是这样的:今天做入门python第35讲的最后一题(统计代码量)的练习时,出现了 ‘gbk’编码问题。

然后我逐个排除问题,最后找发现是用 Idle 写的代码保存的编码格式问题。

我的测试是这样的:使用 note ++ 随便写点东西,再用代码去把那个文件的内容读出来,结果乱码 。

                            然后我又用记事本写了一样的东西,用同样的方法把内容读出来,结果正常显示没有乱码

                            我又用 note++修改我写的东西编码的格式为 ’  utf-8 ‘,再去读,还是一样的的乱码。

                            最后我想起 open( ) 这个函数有个 encoding 这个属性(他的默认值是None),我设置成 encoding = ’utf-8 ‘这样打开再读的话就正常了。

所以我就有个两个问题想不通了:

                            1、记事本 保存的文本 默认的编码格式是 utf-8还是Unicode?如果是的为什么我用 note++修改文本的编码格式为 utf-8和Unicode,都是一样的乱码呢?

                            2、python默认的None到底是以什么编码打开文件的

       
最佳答案
2018-2-15 14:44:17
1.记事本的默认编码是ANSI本地编码,是gbk编码,而encoding参数默认就是gbk编码,所以打开记事本不会乱码。
2.我猜测你的note++默认就是utf-8编码,所以你的修改并没有起到什么作用,你打开文件的默认编码又是gbk,所以他就乱码了。
你要么把note++改成gbk,encoding参数不改,要么不改note++,改encoding参数为utf-8,这样子做应该就不会乱码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-15 09:10:20 | 显示全部楼层
来人啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-15 09:16:06 | 显示全部楼层

回帖奖励 +5 鱼币

我只知道有encoding那个参数,我也算个人,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-15 10:55:59 | 显示全部楼层
新手·ing 发表于 2018-2-15 09:16
我只知道有encoding那个参数,我也算个人,,

求大佬指点迷津
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-15 14:16:49 | 显示全部楼层

回帖奖励 +5 鱼币

我也是刚来的,跟着大家学习ing
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-15 14:44:17 | 显示全部楼层    本楼为最佳答案   

回帖奖励 +5 鱼币

1.记事本的默认编码是ANSI本地编码,是gbk编码,而encoding参数默认就是gbk编码,所以打开记事本不会乱码。
2.我猜测你的note++默认就是utf-8编码,所以你的修改并没有起到什么作用,你打开文件的默认编码又是gbk,所以他就乱码了。
你要么把note++改成gbk,encoding参数不改,要么不改note++,改encoding参数为utf-8,这样子做应该就不会乱码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-15 14:52:21 | 显示全部楼层

回帖奖励 +5 鱼币

跟着大家学习啊,我是新手
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-15 15:09:58 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-15 14:44
1.记事本的默认编码是ANSI本地编码,是gbk编码,而encoding参数默认就是gbk编码,所以打开记事本不会乱码。 ...

好的,明白了。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-15 15:24:37 | 显示全部楼层
微末非末 发表于 2018-2-15 15:09
好的,明白了。谢谢

不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-16 00:31:49 | 显示全部楼层

回帖奖励 +5 鱼币

受教了。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-17 09:31:27 | 显示全部楼层

回帖奖励 +5 鱼币

学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-20 14:01:43 | 显示全部楼层

回帖奖励 +5 鱼币


受教了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-20 16:13:34 | 显示全部楼层

回帖奖励 +5 鱼币

I love fishc.com
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-30 19:37:16 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-30 19:38:10 | 显示全部楼层

回帖奖励 +5 鱼币

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-1 07:55:50 | 显示全部楼层

回帖奖励 +5 鱼币

学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-1 11:56:27 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-1 11:57:00 | 显示全部楼层

回帖奖励 +5 鱼币

学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-2 09:26:28 | 显示全部楼层

回帖奖励 +5 鱼币

哈哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-2 15:46:37 | 显示全部楼层

回帖奖励 +5 鱼币

鱼币真多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 02:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表