鱼C论坛

 找回密码
 立即注册
查看: 2669|回复: 9

[已解决]python 打开文件后不能识别中文内容

[复制链接]
发表于 2020-2-23 15:18:41 | 显示全部楼层 |阅读模式

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

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

x
使用python打开 TXT 文件,打开正常,光标移动正常
如果使用 .read()和 .readline() 都会提示编译错误

如果将TXT 内容改为 英文,一切正常

还有如果 使用 “rb”改为二进制方式打开,.read()正常

求大神告知原因
最佳答案
2020-2-23 15:47:09
本帖最后由 一个账号 于 2020-2-23 15:49 编辑
飞天大猫 发表于 2020-2-23 15:46
为什么改成这个就好了啊?


encoding="utf-8" 的意思是指定文件编码为 "utf-8",Python 默认是 GBK。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-23 15:22:08 | 显示全部楼层
代码和txt文件呢???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 15:23:06 | 显示全部楼层
本帖最后由 飞天大猫 于 2020-2-23 15:35 编辑
qiuyouzhi 发表于 2020-2-23 15:22
代码和txt文件呢???


文件已经删了啊,等下我重新写个传上来
  1. >>> a = open("C:\\Users\\test\\Desktop\\Python\\test1.txt")
  2. >>> a
  3. <_io.TextIOWrapper name='C:\\Users\\test\\Desktop\\Python\\test1.txt' mode='r' encoding='cp936'>
  4. >>> a.read()
  5. Traceback (most recent call last):
  6.   File "<pyshell#106>", line 1, in <module>
  7.     a.read()
  8. UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10: illegal multibyte sequence
  9. >>> a.seek(0)
  10. 0
  11. >>> a.readline()
  12. Traceback (most recent call last):
  13.   File "<pyshell#108>", line 1, in <module>
  14.     a.readline()
  15. UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10: illegal multibyte sequence
  16. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 15:30:15 | 显示全部楼层
本帖最后由 飞天大猫 于 2020-2-23 15:36 编辑
飞天大猫 发表于 2020-2-23 15:23
文件已经删了啊,等下我重新写个传上来


没找到哪里添加附件啊
难道是因为我不是VIP?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 15:42:26 | 显示全部楼层
一个账号 发表于 2020-2-23 15:41
等到你 100 积分的时候就可以传了。

把内容发上来吧

爸爸:“呵呵呵,朱迪。知道为什么我和你妈妈过得这么幸福吗?”
小朱迪:“不知道。”
爸爸:“因为我们放弃梦想,选择安定,对吗?”
妈妈:“哦,说的没错,我们可安定了。”
爸爸:“你看,这就是知足常乐的好处,如果你不做新的尝试就不会犯错。”
小朱迪:“可我就喜欢尝试。”
妈妈:“你爸爸的意思是,当警察挺难的,甚至不可能,尤其是对于你来说”
爸爸:“没错,兔子从来不当警察”妈妈:“对!”爸爸:“也当不了警察。”妈妈:“当不了。”
爸爸:“当不了。”
小朱迪:“哦!那我就会是第一个啦!因为我想,要让这个世界变得更美好!”
爸爸:“啊,呵呵,哦,你看这,让世界变得美好还有别的方法,比如当一个种胡萝卜的农民。”
妈妈:“没错,你爸爸和我还有你275个兄弟姐妹,我们都在改变世界。”爸爸:“对!”妈妈:“用胡萝卜改变。”
爸爸:“感谢上帝,种胡萝卜可是高尚的职业。”
妈妈:“嗯,只要把种子放进土壤。”
爸爸:“啊,只要和土壤融为一体,再用泥土盖起来。”
妈妈:“对啊,梦想确实美好。”
爸爸:“是啊,只要梦想别太离谱就好。额,他跑哪儿去了?”
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 15:43:03 | 显示全部楼层
这是我从网上复制的,亲测手动打上去和网上复制都不行,英文没一点问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 15:45:05 | 显示全部楼层
飞天大猫 发表于 2020-2-23 15:43
这是我从网上复制的,亲测手动打上去和网上复制都不行,英文没一点问题

编码问题,你文件使用什么编码的?如果是 "utf-8",改成这样:

  1. a = open("C:\\Users\\test\\Desktop\\Python\\test1.txt", encoding="utf-8")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-23 15:46:27 | 显示全部楼层
本帖最后由 飞天大猫 于 2020-2-23 15:47 编辑


为什么改成这个就好了啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-23 15:47:09 | 显示全部楼层    本楼为最佳答案   
本帖最后由 一个账号 于 2020-2-23 15:49 编辑
飞天大猫 发表于 2020-2-23 15:46
为什么改成这个就好了啊?


encoding="utf-8" 的意思是指定文件编码为 "utf-8",Python 默认是 GBK。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-2 18:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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