gpt4 book ai didi

python - 有没有办法改变 Python 的 open() 默认文本编码?

转载 作者:太空狗 更新时间:2023-10-29 21:03:23 24 4
gpt4 key购买 nike

我可以更改默认值 open() ( io.open() in 2.7 ) 跨平台文本编码?

这样我就不需要每次都指定 open(...,encoding='utf-8')

In text mode, if encoding is not specified the encoding used is platform dependent: locale.getpreferredencoding(False) is called to get the current locale encoding.

虽然文档没有指定如何设置首选编码。该函数在 locale 模块中,所以我需要更改语言环境?是否有任何可靠的跨平台方式来设置 UTF-8 语言环境?它会影响默认文本文件编码以外的任何其他内容吗?

或者语言环境更改很危险(可能会破坏某些东西),我应该坚持使用自定义包装器,例如:

def uopen(*args, **kwargs):
return open(*args, encoding='UTF-8', **kwargs)

最佳答案

不要更改语言环境或首选编码,因为;

  • 它可能会影响您代码的其他部分(或您正在使用的库);和
  • 不清楚您的代码是否依赖于使用特定编码的open

相反,使用一个简单的包装器:

from functools import partial
open_utf8 = partial(open, encoding='UTF-8')

您还可以为所有关键字参数指定默认值(如果需要)。

关于python - 有没有办法改变 Python 的 open() 默认文本编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24897644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com