CLI 应用程序目录
您可以使用 typer.get_app_dir()
获取应用程序目录,例如,您可以将配置文件保存在该目录中。
from pathlib import Path
import typer
APP_NAME = "my-super-cli-app"
def main():
app_dir = typer.get_app_dir(APP_NAME)
config_path: Path = Path(app_dir) / "config.json"
if not config_path.is_file():
print("Config file doesn't exist yet")
if __name__ == "__main__":
typer.run(main)
它将为您提供一个目录,用于在每个操作系统中为当前用户存储适合您的 CLI 程序的配置。
检查它
$ python main.py
Config file doesn't exist yet
关于 Path
¶
如果您以前没有见过类似的东西
Path(app_dir) / "config.json"
Path
对象可以使用 /
,它会将其转换为当前系统的分隔符(Unix 系统为 /
,Windows 为 \
)。
如果第一个元素是 Path
对象,则后面的元素(在 /
之后)可以是 str
。
它将由此创建一个新的 Path
对象。
如果您想要一个关于使用 Path()
的快速指南,您可以查看 Real Python 上的这篇文章 或 Trey Hunner 的这篇文章。
在上面的代码中,我们还明确地将 config_path
声明为类型 Path
,以帮助编辑器提供完成和类型检查。
config_path: Path = Path(app_dir) / "config.json"
否则,它可能会认为它是一个子类型(PurePath
)并停止为某些方法提供完成。