【发布时间】:2013-05-15 15:23:41
【问题描述】:
问题:
是否无法在 Python 中覆盖 HOMEDRIVE 和 HOMEPATH 变量?
这些变量究竟存储在哪里,我在环境变量对话框中看不到它们。
解释:
在 Python 中,您可以使用访问环境变量
os.environ['variable_name']
例如,如果我转到系统属性 -> 高级 -> 环境变量,并创建一个名为 GARY 且值为 XYZ 的系统变量,那么我可以从我的 python 脚本中成功地使用
os.environ['GARY']
(它按预期返回'XYZ')
但是我无法更改变量HOMEDRIVE 的值。当我在我的 python 脚本中使用os.environ['HOMEDRIVE'] 时,它返回C:。于是我进入系统属性->高级->环境变量,我创建了一个名为HOMEDRIVE的系统变量,并将其值设置为X:。但是当我使用
os.environ['HOMEDRIVE']
在我的脚本中,它仍然返回C:
不能覆盖HOMEDRIVE 和HOMEPATH 变量吗?这些有什么特别之处吗?
这些变量究竟存储在哪里,我在“环境变量”对话框中看不到它们。可能它们存储在其他地方,所以即使我在 Windows 中创建 HOMEDRIVE 系统变量,它也会被其他地方覆盖。
【问题讨论】:
-
你想在哪里使用这些变量?你不能在你的代码中覆盖它们吗:
os.environ['HOMEDRIVE']='D:' -
哪个版本的 Windows?
-
嗨 Dhara,这是 Windows 7。我没有尝试在我的代码中覆盖,我想我可能会这样做,我更感兴趣的是弄清楚为什么这首先不起作用地方。该程序将在网络上的许多计算机上运行,在某些情况下,我可能实际上想要尊重 HOMEDRIVE 设置。我不打算要求用户在系统属性中设置此变量。那时我意识到这不适用于这个变量。
-
每次设置环境变量都需要重启命令行。
标签: python environment