Python从系统中读取默认文件内容编码。 *
This S.O. question demonstrates that behavior
我想在脚本级别全局覆盖它。我不想在每次调用" open()"。
时指定它例如,如果我的Windows有一个CP1255遗留代码页,我想这样做:
magic_set_file_open_encoding('utf8')
data = open('file').read() # contents assumed utf8
为什么这很愚蠢:
答案 0 :(得分:0)
您可以覆盖文件的打开
open = functools.partial(open, encoding='utf8')
with open('somefile'): as f#will be your *new open func*
...
另一种不那么hacky
方式和更全面的方法可能是:
import locale
locale.setlocale(locale.LC_ALL, 'en_US.utf-8')