tox-dev/platformdirs
GitHub: tox-dev/platformdirs
一个跨平台 Python 库,用于统一获取各操作系统下符合规范的应用数据、配置、缓存、日志等目录路径。
Stars: 941 | Forks: 82
# platformdirs
[](https://badge.fury.io/py/platformdirs)
[](https://pypi.python.org/pypi/platformdirs/)
[](https://github.com/platformdirs/platformdirs/actions)
[](https://pepy.tech/project/platformdirs)
一个用于确定特定平台目录(例如用户数据、配置、缓存、日志)的 Python 包。它处理了
macOS、Windows、Linux/Unix 和 Android 之间的差异,因此您无需再为此操心。
## 快速入门
```
from platformdirs import PlatformDirs
dirs = PlatformDirs("MyApp", "MyCompany")
dirs.user_data_dir # ~/.local/share/MyApp (Linux)
dirs.user_config_dir # ~/.config/MyApp (Linux)
dirs.user_cache_dir # ~/.cache/MyApp (Linux)
dirs.user_state_dir # ~/.local/state/MyApp (Linux)
dirs.user_log_dir # ~/.local/state/MyApp/log (Linux)
dirs.user_documents_dir # ~/Documents
dirs.user_downloads_dir # ~/Downloads
dirs.user_runtime_dir # /run/user//MyApp (Linux)
```
获取 Path 对象而非字符串:
```
from platformdirs import PlatformDirs
dirs = PlatformDirs("MyApp", "MyCompany")
dirs.user_data_path # pathlib.Path('~/.local/share/MyApp')
dirs.user_config_path # pathlib.Path('~/.config/MyApp')
```
用于快速访问的便捷函数:
```
from platformdirs import user_data_dir, user_config_path
user_data_dir("MyApp", "MyCompany") # returns str
user_config_path("MyApp", "MyCompany") # returns pathlib.Path
```
## 目录类型
- **Data**:持久化的应用程序数据(`user_data_dir`、`site_data_dir`)
- **Config**:配置文件和设置(`user_config_dir`、`site_config_dir`)
- **Cache**:可以重新生成的缓存数据(`user_cache_dir`、`site_cache_dir`)
- **State**:非必要的运行时状态,例如窗口位置(`user_state_dir`、`site_state_dir`)
- **Logs**:日志文件(`user_log_dir`、`site_log_dir`)
- **Runtime**:运行时文件,例如 sockets 和 PIDs(`user_runtime_dir`、`site_runtime_dir`)
每种类型都包含 `user_*`(按用户划分,可写)和 `site_*`(系统范围,对用户只读)两种变体。
## 文档
完整文档可在 [platformdirs.readthedocs.io](https://platformdirs.readthedocs.io) 获取:
- **[入门教程](https://platformdirs.readthedocs.io/en/latest/tutorial.html)** -- 通过实际示例学习核心概念
- **[操作指南](https://platformdirs.readthedocs.io/en/latest/howto.html)** -- 常见任务的方案和针对特定平台的提示
- **[API 参考](https://platformdirs.readthedocs.io/en/latest/api.html)** -- 完整的函数和类列表
- **[平台详情](https://platformdirs.readthedocs.io/en/latest/platforms.html)** -- 每个操作系统的默认路径
欢迎贡献!有关详细信息,请参阅 [CONTRIBUTING.md](https://github.com/tox-dev/platformdirs/blob/main/CONTRIBUTING.md)。
标签:Android, DSL, pathlib, pip, PyPI, SOC Prime, Unix, 工具库, 平台适配, 应用程序数据, 开发工具, 数字足迹, 文件系统, 日志目录, 系统目录, 缓存目录, 跨平台开发, 路径管理, 逆向工具