我正在尝试为 Windows 创建一个重复文件查找器。我的程序在 Linux 中运行良好。但它会将 NUL 字符写入 Windows 中的日志文件。这是由于 Windows 的 MBCS 默认文件系统编码,而 Linux 中的文件系统编码是 UTF-8。如何将 MBCS 转换为 UTF-8 以避免此错误?
问问题
6118 次
2 回答
2
告诉 Python 在日志文件上使用 UTF-8。在 Python 3 中,您可以通过以下方式执行此操作:
open(..., encoding='utf-8')
如果要将 MBCS 字符串转换为 UTF-8,可以切换字符串编码:
filename.encode('mbcs').decode('utf-8')
用于filename.encode(sys.getdefaultencoding())...
使代码也可以在 Linux 上运行。
于 2017-01-02T07:27:16.083 回答
1
只需将编码更改为 'latin-1' ( encoding='latin-1'
)
使用纯 Python:
open(..., encoding = 'latin-1')
使用熊猫:
pd.read_csv(..., encoding='latin-1')
于 2020-05-04T14:53:29.680 回答