我做了一场比赛,我想保存高分。所以我需要一个地方去做。我选择将它放在C:\All Programs
目录中。我的问题是该目录名在每台计算机上都不相同。例如,我的C:/Program Files
(x86)。
所以我的问题: 有没有办法在任何计算机上发现这条路径?
问题已解决:
os.getenv(' PROGRAMFILES&#39)
答案 0 :(得分:2)
我的第二个@ iCodez回答使用os.getenv
从系统环境变量中获取路径字符串,但您可能希望使用为APPDATA或LOCALAPPDATA定义的路径。
Program Files目录上的Windows权限设置可能会阻止标准用户帐户将数据写入目录。
我认为APPDATA和LOCALAPPDATA路径仅供这样使用。在我的系统上,APPDATA = C:\Users\myname\AppData\Roaming
和LOCALAPPDATA = C:\Users\myname\AppData\Local
。我的用户帐户拥有两个目录的完全读/写权限。
答案 1 :(得分:0)
您可以使用os.getenv
或os.environ
:
>>> import os
>>>> os.getenv('PROGRAMFILES')
'C:\\Program Files'
>>> os.environ['PROGRAMFILES']
'C:\\Program Files'
>>>
请注意,您还可以为未设置环境变量时指定默认返回值:
>>> os.getenv('BADVAR', 'default')
'default'
>>> os.environ.get('BADVAR', 'default')
'default'
>>>