繁体   English   中英

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

[英]How can I get the path to the %APPDATA% directory in Python?

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

import os
print os.getenv('APPDATA')

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

返回扩展了环境变量的参数。 $name${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')

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

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

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

你可以尝试这样做:

import os
path = os.getenv('APPDATA')
array = os.listdir(path)
print array

您可以使用名为appdata模块。 它的开发目的是访问应用程序的不同路径,包括应用程序数据文件夹。 安装它:

pip install appdata

之后你可以这样使用它:

from appdata import AppDataPaths
app_paths = AppDataPaths()
app_paths.app_data_path  # for your app data path
app_paths.logs_path  # for logs folder path for your application

它不仅允许获取应用程序数据文件夹和日志文件夹,还允许获取其他功能来管理路径,例如管理配置文件路径。 它是可定制的。

链接:

  1. 阅读文档- 文档。
  2. GitHub - 源代码。
  3. PyPI - 包管理器 (pip)。

我打印了这一页并对此表示感谢。 还尝试在这个 Dispositive 中配置“%APPDATA%”,使用:“notepad”,不知道要存档 sugested 配置。 还复制了 sotoz 和 Aominé 贡献者。 谢谢。

efk14it。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM