我正在开发一个必须能够打开 UTF-8 和 UTF-16 编码文件的 Python 工具。在 Python 3.2 中,我使用以下代码尝试使用 UTF-8 打开文件,然后在出现 unicode 错误时使用 UTF-16 尝试:
def readGridFromPath(self, filepath):
try:
self.readGridFromFile(open(filepath,'r',encoding='utf-8'))
except UnicodeDecodeError:
self.readGridFromFile(open(filepath,'r',encoding='utf-16'))
(readGridFromFile
要么运行到完成,要么引发一个UnicodeDecodeError
. )
但是,当我在 Python 2.x 中运行此代码时,我得到:
TypeError: 'encoding' is an invalid keyword argument for this function
我在文档中看到 Python 2.xopen()
没有encoding
关键字。有什么办法可以让我的代码与 Python 2.x 兼容?