gpt4 book ai didi

python - 如何从 Python 脚本中更改环境变量 LANG?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:12 27 4
gpt4 key购买 nike

我正在用 python 编写一个脚本,生成包含 utf-8 字符的输出,即使大多数 linux 终端默认使用 utf-8,我编写代码时假定它不是 utf-8(以防用户出于某种原因更改它)。

根据我的测试,os.environ["LANG"] = "en_US.utf-8" 不会改变系统环境变量,它只会改变 Python 内部的数据结构。

最佳答案

我觉得你做得太过了。 Python 自带电池;只需使用它们。

正确配置的终端 session 设置了 LANG 环境变量;它描述了终端期望哪种编码作为在此 session 中运行的程序的输出。

Python 解释器检测到此设置并根据它设置 sys.stdout.encoding。然后它使用该编码将任何 Unicode 输出编码为正确的字节序列。 (如果您要发送一个字节序列,您是靠自己的,并且可能知道您在做什么;也许您发送的是一个二进制流,而不是文本。)

因此,如果您将文本输出为 Unicode,它必须自动正确显示,前提是所有字符都可以编码。

如果您需要更好的控制,请选择输出编码,使用您自己的错误处理进行编码,然后输出字节。

从事更改终端 session 设置的工作,除非您正在编写专门用于执行此操作的工具。用户已配置 session ;你的程序必须适应这个配置,而不是改变它,如果它是一个行为良好的程序。

关于python - 如何从 Python 脚本中更改环境变量 LANG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42603373/

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