当前位置:  开发笔记 > 编程语言 > 正文

为什么我的Python代码在从文本文件中读取时会打印额外的字符""?

如何解决《为什么我的Python代码在从文本文件中读取时会打印额外的字符""?》经验,为你挑选了1个好方法。

我找不到Python 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转换为UTF-8,而在Python中没有BOM.你需要在Python 2中使用codecs或者使用它来做一些恶作剧str.decode.但是在Python 3中,你需要做的就是encoding=在打开文件时设置参数.



1> senshin..:

我找不到Python 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转换为UTF-8,而在Python中没有BOM.你需要在Python 2中使用codecs或者使用它来做一些恶作剧str.decode.但是在Python 3中,你需要做的就是encoding=在打开文件时设置参数.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有