Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么在读取的文件中有前面的\ufeff?_Python 3.x - Fatal编程技术网

Python 3.x 为什么在读取的文件中有前面的\ufeff?

Python 3.x 为什么在读取的文件中有前面的\ufeff?,python-3.x,Python 3.x,我尝试将文本保存到文档中,并尝试从文档中读取文本。结果是我在输出中有一个前面的\ufeff。我主要对为什么会发生这种情况感到困惑。(这是回复,如果不够清楚的话。) win32上的Python 3.8.1(tags/v3.8.1:1b293b6,2019年12月18日,23:11:46)[MSC v.1916 64位(AMD64)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>打开(“text.txt”) >>>打开(“text.txt”).read() “\ufeff

我尝试将文本保存到文档中,并尝试从文档中读取文本。结果是我在输出中有一个前面的
\ufeff
。我主要对为什么会发生这种情况感到困惑。(这是回复,如果不够清楚的话。)

win32上的Python 3.8.1(tags/v3.8.1:1b293b6,2019年12月18日,23:11:46)[MSC v.1916 64位(AMD64)] 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>打开(“text.txt”) >>>打开(“text.txt”).read() “\ufeff1234” >>>
您应该将默认编码从
cp65001
更改为
utf-8-sig

替换此项:

open(“text.txt”)
为此:

open(“text.txt”,mode='r',encoding='utf-8-sig')
这是一个
Python 3.8.1 (tags/v3.8.1:1b293b6, Dec 18 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> open("text.txt")
<_io.TextIOWrapper name='text.txt' mode='r' encoding='cp65001'>
>>> open("text.txt").read()
'\ufeff1234'
>>>