在程序中打开文件时,我总是遇到错误。原始代码是打开f = open(file_name, 'w')
或with open(file_name) as f:
的简单调用。两者都引发了类似的错误UnicodeEncodeError: 'charmap' codec can't encode characters: character maps to <undefined>
。
类似问题的答案是在open函数中指定encoding='utf-8'
,我尝试过,但仍然导致错误。回答同一问题的另一个答案是设置encoding='Latin1'
,但建议不要这样做,因为-从我的理解来看-Latin1将适用于任何文件类型,无论它实际上是否正确对其进行编码。如果这是错误信息,请让我知道,因为无论如何我都使用Latin1尝试了它,并且运行无误。
我什至试图下载一个编辑器,该编辑器告诉您所使用文件的首选编码方法。我给了它一个我要在程序中打开的.h5文件,它说我应该使用十六进制,使用编码器功能时,我只能通过编解码器模块找到对它的支持。 via Sublime Text
上面让我认为使用Latin1可能是不正确的做法。因此,我的问题是:
是否可以通过某种方式将十六进制指定为python的open函数的编码参数?如果是这样,那该怎么办? (我应该注意,我已经尝试了明显的解决方案encoding='hex'
,encoding='hexadecimal'
,并且都无法识别)和/或对我要打开的.h5文件使用了Latin1错误的做法?