Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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从本地文件读取unicode_Python_Python 2.7_Unicode - Fatal编程技术网

Python从本地文件读取unicode

Python从本地文件读取unicode,python,python-2.7,unicode,Python,Python 2.7,Unicode,我正在尝试读取本地的一些unicode文件。使用列表时如何读取unicode文件?我已经阅读了python文档和大量的stackoverflow问答,它们回答了我的许多其他问题,但我找不到这个问题的答案 感谢您的帮助 编辑:对不起,我的文件是utf-8格式的 您可以使用打开UTF-8编码的文件 import codecs with codecs.open("myutf8file.txt", encoding="utf-8-sig") as infile: for line in infi

我正在尝试读取本地的一些unicode文件。使用列表时如何读取unicode文件?我已经阅读了python文档和大量的stackoverflow问答,它们回答了我的许多其他问题,但我找不到这个问题的答案

感谢您的帮助


编辑:对不起,我的文件是utf-8格式的

您可以使用打开UTF-8编码的文件

import codecs
with codecs.open("myutf8file.txt", encoding="utf-8-sig") as infile:
    for line in infile:
        # do something with line
请注意,
codecs.open()
不会将
\r\n
转换为
\n
,因此,如果您使用的是Windows文件,您需要考虑到这一点


utf-8-sig
编解码器将读取带或不带的utf-8文件(如果有,则将其剥离)。在编写时,您应该使用
utf-8
作为编解码器,因为。

您当前的代码是什么?没有“Unicode文件”这样的东西。有几种编码可用于将Unicode字符串编码为字节,其中最常见的是
utf-8
。这是你的文件编码吗?如果没有,哪一个是?您的文件是否有?是的,我的文件是UTF-8格式的。如果infle.read(len(codecs.BOM\u UTF8)),则很容易忽略输入文件开头的任何UTF-8 BOM,并使用
codecs.BOM_UTF8:infle.seek(0)
跟随
with
语句。@martineau:使用
utf-8-sig
编解码器可能更容易(但你不应该将其用于写作,因此我的答案中没有包含它)。然后,这比我想象的还要容易。你似乎过于担心写文件,因为在OP的问题中甚至没有提到它。@martineau:我想你是对的。嗯,在某一点上,程序会输出一些东西,我猜这与程序读取的文件有关。我已经编辑了我的答案。谢谢你的帮助,蒂姆·皮埃茨克和@martineau。