鱼C论坛

 找回密码
 立即注册
查看: 2067|回复: 4

[已解决]打开文件的操作

[复制链接]
发表于 2021-4-27 21:42:05 | 显示全部楼层 |阅读模式

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

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

x

file=open('txt.txt','r',encoding='UTF-8')
print(file.readlines())
file.close()

txt.txt这个文件里存了三行(中国,美丽,地广)
结果:
['\ufeff中国\n', '美丽\n', '地广\n']

为啥中国前边多了那几个字母啊?
最佳答案
2021-4-27 22:08:43
本帖最后由 591821661 于 2021-4-27 22:10 编辑

这是因为你保存 txt 文件时带有 bom(Byte Order Mark,字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码)
2021-04-27_22-10-18 by Sharpstar_kylin.png

你用这个代码替换试试
file=open('txt.txt','r',encoding='utf-8-sig')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-27 21:51:11 From FishC Mobile | 显示全部楼层
用16进制查看器查一下该文件的内码,看一下到底是啥东东
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-27 22:00:50 | 显示全部楼层
wp231957 发表于 2021-4-27 21:51
用16进制查看器查一下该文件的内码,看一下到底是啥东东

前辈,什么是16进制查看器啊?小白一枚,真心不懂?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-27 22:08:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 591821661 于 2021-4-27 22:10 编辑

这是因为你保存 txt 文件时带有 bom(Byte Order Mark,字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码)
2021-04-27_22-10-18 by Sharpstar_kylin.png

你用这个代码替换试试
file=open('txt.txt','r',encoding='utf-8-sig')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-4-27 22:17:28 | 显示全部楼层
591821661 发表于 2021-4-27 22:08
这是因为你保存 txt 文件时带有 bom(Byte Order Mark,字节顺序标记,出现在文本文件头部,Unicode编码标 ...

你的代码确实解决了多余的字母,但是我保存txt文件的时候,确实格式UTF-8的格式,我刚才还试了,还是不行,只有加上你的sig才可以,不知道为啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 15:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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