【发布时间】:2013-08-12 02:21:31
【问题描述】:
我正在尝试检查我的应用程序目录是否存在于 %APPDATA% 文件夹中。
我的问题:使用print os.path.exists("%APPDATA%"),它总是返回False,这显然是完全不正确的。为什么会发生这种情况,我该如何解决?
【问题讨论】:
标签: python windows environment-variables
我正在尝试检查我的应用程序目录是否存在于 %APPDATA% 文件夹中。
我的问题:使用print os.path.exists("%APPDATA%"),它总是返回False,这显然是完全不正确的。为什么会发生这种情况,我该如何解决?
【问题讨论】:
标签: python windows environment-variables
你需要使用os.path.expandvars扩展环境变量:
>>> os.path.expandvars("%APPDATA%")
'C:\\Documents and Settings\\falsetru\\Application Data'
>>> os.path.exists(os.path.expandvars("%APPDATA%"))
True
在不展开的情况下,"%APPDATA%" 在当前工作目录中的字面意思是%APPDATA%。
【讨论】:
FindFirstFileEx("%APPDATA%", ...);,windows 就会扩展该函数内的变量?
os.path.exists 是使用stat 实现的,它不会扩展环境变量。