鱼C论坛

 找回密码
 立即注册
查看: 775|回复: 7

[已解决]关于 文件 课后题

[复制链接]
发表于 2020-4-25 22:21:35 | 显示全部楼层 |阅读模式

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

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

x
打开文本为汉字的疑惑
最佳答案
2020-4-25 22:35:39
这个是编码问题,一般的编码方式有:utf-8,ansi,gbk,看看哪个解码不报错且打印正常
open(file_name,encoding="填写编码方式")
123.png
456.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-25 22:30:11 | 显示全部楼层
编码错误,在open()里面多加个encoding='utf-8'的属性,改成UTF-8编码
open(encoding='utf-8')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 22:30:38 | 显示全部楼层
本帖最后由 老八秘制 于 2020-4-25 22:31 编辑

emmm……你自己写的文档默认是GBK解码的,用默认utf-8的py打开自然会有问题,由程序写入的文档使用的是utf-8解码,所以可以正常打开
英文的话基本换成什么解码都是正常的,所以说可以打开
这边建议你打开时候加一个encode="GBK/UTF-8(根据你自己情况选择)"或者用程序写入(少量中文没事的,大量可能出现乱码)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 22:35:39 | 显示全部楼层    本楼为最佳答案   
这个是编码问题,一般的编码方式有:utf-8,ansi,gbk,看看哪个解码不报错且打印正常
open(file_name,encoding="填写编码方式")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 22:36:50 | 显示全部楼层
这是典型的编码错误,你现在编写的文本是utf-8的编码,而python默认打开是gbk的,在open加上encoding='utf-8'就可以正常打开了:
f=open('1.txt',encoding='utf-8')
如果是纯半角字母、数字、字符组成的文本,就不会有这种问题了,只有中文的才会有编码问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-4-25 22:37:51 | 显示全部楼层
Twilight6 发表于 2020-4-25 22:30
编码错误,在open()里面多加个encoding='utf-8'的属性,改成UTF-8编码

想问下,用打开文件的形式写代码该如何写
f=open(encoding='utf-8')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 22:40:24 | 显示全部楼层
如果程序里面有批量打开文本文件的情况,可以参考:
避免打开文本文件出现编码错误的一个小技巧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-25 22:42:21 | 显示全部楼层
蜜蜂与狗 发表于 2020-4-25 22:37
想问下,用打开文件的形式写代码该如何写
f=open(encoding='utf-8')
f = open('文件路径','r',encoding='utf-8')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 20:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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