tox-dev/platformdirs

GitHub: tox-dev/platformdirs

一个跨平台 Python 库,用于统一获取各操作系统下符合规范的应用数据、配置、缓存、日志等目录路径。

Stars: 941 | Forks: 82

# platformdirs [![PyPI 版本](https://badge.fury.io/py/platformdirs.svg)](https://badge.fury.io/py/platformdirs) [![Python 版本](https://img.shields.io/pypi/pyversions/platformdirs.svg)](https://pypi.python.org/pypi/platformdirs/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8f59d193b8030139.svg)](https://github.com/platformdirs/platformdirs/actions) [![下载量](https://static.pepy.tech/badge/platformdirs/month)](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, 工具库, 平台适配, 应用程序数据, 开发工具, 数字足迹, 文件系统, 日志目录, 系统目录, 缓存目录, 跨平台开发, 路径管理, 逆向工具