gpt4 book ai didi

Python - 覆盖环境变量 homedrive 和 homepath

转载 作者:太空宇宙 更新时间:2023-11-04 03:59:18 26 4
gpt4 key购买 nike

问题:是否无法覆盖 Python 中的 HOMEDRIVEHOMEPATH 变量?这些变量到底存储在哪里,我在“环境变量”对话框中没有看到它们。

解释:

在 Python 中,您可以使用以下方式访问环境变量

os.environ['variable_name']

例如,如果我转到系统属性 -> 高级 -> 环境变量,并创建一个名为 GARY 的系统变量,其值为 XYZ,然后从我的 python脚本我能够使用

成功访问它
os.environ['GARY'] 

(它按预期返回“XYZ”)

但是我无法更改变量 HOMEDRIVE 的值。当我在我的 python 脚本中使用 os.environ['HOMEDRIVE'] 时,它返回 C:。所以我转到系统属性 -> 高级 -> 环境变量,我创建了一个名为 HOMEDRIVE 的系统变量,并将其值设置为 X:。但是当我使用

os.environ['HOMEDRIVE']

在我的脚本中,它仍然返回 C:

是否无法覆盖 HOMEDRIVEHOMEPATH 变量?这些有什么特别之处吗?

这些变量究竟存储在哪里,我没有在“环境变量”对话框中看到它们。可能它们存储在其他地方,所以即使我在 Windows 中创建一个 HOMEDRIVE 系统变量,它也会被其他地方覆盖。

最佳答案

如果只想在 Python 中覆盖变量,可以在代码中实现:

os.environ['HOMEDRIVE'] = 'D:'

如果你把它放在 sitecustomize.py 中,然后它会在您每次调用 Python 脚本时运行。来自文档:

... an attempt is made to import a module named sitecustomize, which can perform arbitrary site-specific customizations. It is typically created by a system administrator in the site-packages directory.

但是,如果您想修改 Windows 本身的环境变量,请参阅 this super 用户堆栈交换答案。

关于Python - 覆盖环境变量 homedrive 和 homepath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569048/

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