python的%USERPROFILE%env变量

时间:2016-07-23 17:28:15

标签: python python-2.7 windows-7-x64 environment os.path

我正在用Python 2.7编写一个脚本。

它需要能够访问Windows中当前用户配置文件的任何人。

这是我目前拥有的变量和功能:

import os
desired_paths = os.path.expanduser('HOME'\"My Documents")

我确实怀疑这个expanduser会起作用。我试图在Python中寻找Windows Env变量,希望找到一个列表并知道将它转换为什么。要么这样的工具不存在,要么我只是没有使用正确的搜索术语,因为我还是很新的学习。

2 个答案:

答案 0 :(得分:13)

您可以通过os.environ mapping

访问环境变量
import os
print(os.environ['USERPROFILE'])

这适用于Windows。对于另一个操作系统,您需要适当的环境变量。

此外,在Python中连接字符串的方法是使用+符号,所以:

os.path.expanduser('HOME'\"My Documents")
                   ^^^^^^^^^^^^^^^^^^^^^

应该是别的东西。但要连接路径,你应该更加小心,并且可能想要使用类似的东西:

os.sep.join(<your path parts>)
# or
os.path.join(<your path parts>)

(两者之间略有区别)

如果您想要当前用户的My Documents目录,可以尝试以下方法:

docs = os.path.join(os.environ['USERPROFILE'], "My Documents")

或者,使用expanduser:

docs = os.path.expanduser(os.sep.join(["~","My Documents"]))

最后,要查看设置了哪些环境变量,您可以执行以下操作:

print(os.environ.keys())

(参考查找设置环境变量的列表)

答案 1 :(得分:2)

使用~前往os.path.expanduser似乎比使用'HOME'更可靠。