如何在处理1024个字符的限制时在Python中持久设置环境

2024-04-28 11:01:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为Windows中的Python3编写一个程序,它试图附加到机器路径变量。问题在于PATH变量的长度超过1024个字符,这是windows对BAT字符串和注册表键值对值实施的人为限制。不过,Windows将允许您拥有多达32000个字符的路径,而无需进行调整。如果您的路径超过了字符下限,我发现设置机器变量要困难得多,原因如下:

  • os.environ()将返回完整值,最多32000个字符
  • 尝试使用os.system('SETX [...]')设置变量将只写出1024个字符,并截断其余字符。这不可避免地要求破坏系统
  • os.environ['PATH'] = '...'将设置变量,但不会持续设置
  • 有人可能认为编辑PATH的注册表值是一个合适的选项,但是'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment'下的注册表值只包含前1024个字符,向下舍入到最近的路径

在Python中,如何持久地设置一个长度超过1024个字符的常规限制的环境变量。Windows说传统的限制实际上是2048个字符,但许多限制设置为1024个字符


Tags: path字符串路径程序机器os注册表windows