Python 3.6 mbcs编码未知

时间:2018-07-09 12:48:43

标签: python encoding mbcs

我正在尝试使用python中的mbcs编码打开文件,但出现错误。

如果我写:

fileIN = open(filename, "r", encoding = "mbcs")

我得到:

回溯(最近通话最近):   文件“ /data/stru0039/Rotation/test.py”,行144,在     fileIN =打开(文件名,“ r”,编码=“ mbcs”) LookupError:未知编码:mbcs

是否可以安装此编解码器?谢谢!

2 个答案:

答案 0 :(得分:1)

mbcs 编码为 only available on Windows。它指的是当前的 Windows“ANSI”代码页 (CP_ACP)。¹

如果您不是在 Windows 上运行它,只需猜测一个编码并使用它。如果您在 Windows 上运行它,但通过 MSYS2 或 Cygwin 之类的工具运行,则会收到 bug to report,因为有人未能检测到底层的 Windows API。


¹ 对于阅读此答案的人,它可能不是 MBCS,而只是像 CP1252(最类似于 ISO-8859-1)的单字节编码。

答案 1 :(得分:0)

在 Ubuntu 中,您可以将文件转换为 UTF-8

filename.encode('mbcs').decode('utf-8')

或使用编辑器更改格式。