您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从文本文件读取时,为什么我的Python代码会打印多余的字符“???”?

从文本文件读取时,为什么我的Python代码会打印多余的字符“???”?

我找不到Python 3的重复版本,该版本3处理的编码与Python 2不同。因此,这就是答案:而不是使用认编码(是'utf-8')打开文件,而是使用'utf-8-sig',它期望并去除UTF- 8字节顺序标记显示

也就是说,代替

data = open('info.txt')

data = open('info.txt', encoding='utf-8-sig')

请注意,如果您使用的是Python 2,则应该看到例如Python,将输出编码为UTF-8并将带有BOM的UTF-8转换为在Python中没有BOM的UTF-8。您需要使用codecs或进行一些恶作剧,str.decode才能在Python 2中正常工作。但是在Python 3中,您要做的就是encoding=在打开文件时设置参数。

python 2022/1/1 18:46:20 有332人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶