1

我对 python 很陌生,我在一系列目录中混合了基于 ansi 和 unicode (utf-16-le) 文本的文件。我有一些代码可以读取文本文件,直到它遇到一个 unicode 文件,我已经在代码中编写了要跳过的代码。. 我想知道是否有办法让 python 运行

with codecs.open 

当它作为一个 prog 的一部分命中一个 unicode 文件时是什么类型的东西?以我目前的 python 经验水平,我能看到的唯一方法是编写两个单独的 progs;一个处理 ANSI 的东西,一个处理 Unicode。

提前感谢您提供的任何帮助

4

2 回答 2

1

use unicode by default(which is a good programming discipline) and switch to ansi only if necessary.

import codecs

def opener(filename):
    try:
        f = codecs.open(filename, encoding='utf-8')
    except UnicodeError:
        f = open(filename)
    return f
于 2013-05-14T09:27:29.630 回答
0

Just open all files using UTF-8.

f = codecs.open(file_name, "r", "utf-8")
于 2013-05-14T09:25:57.390 回答