如何在Python中获取%APPDATA%目录的路径?

fox*_*fox 49 python appdata

如何%APPDATA%在Python中获取目录的路径?

Jon*_*nts 85

import os
print os.getenv('APPDATA')
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这将返回`AppData\Roaming`.如果您正在寻找`AppData\Local`,则需要`%LOCALAPPDATA%`. (41认同)

Adr*_*n W 8

您可以使用os.path.expandvars(path)

返回带有扩展的环境变量的参数。形式为$name或的子字符串${name}由环境变量名称的值替换。格式错误的变量名称和对不存在的变量的引用保持不变。

在Windows上,%name%除了$name和外还支持扩展${name}

将扩展值与其他路径组件结合使用时,这很方便。

例:

from os import path

sendto_dir = path.expandvars(r'%APPDATA%\Microsoft\Windows\SendTo')
dumps_dir = path.expandvars(r'%LOCALAPPDATA%\CrashDumps')
Run Code Online (Sandbox Code Playgroud)


Mar*_*ejp 6

尽管该问题明确询问特定于 Windows 的%APPDATA%目录,但也许您最终在这里寻找跨平台解决方案来获取当前用户应用程序数据目录,该目录因操作系统而异。

从 Python 3.10 开始,有点令人惊讶的是,没有内置函数来查找此目录。但是,也有第三方包,其中最流行的似乎是appdirs,它提供了检索路径的功能,例如:

  • 用户数据目录 ( user_data_dir)
  • 用户配置目录 ( user_config_dir)
  • 用户缓存目录 ( user_cache_dir)
  • 站点数据目录 ( site_data_dir)
  • 站点配置目录 ( site_config_dir)
  • 用户日志目录 ( user_log_dir)