コンテンツにスキップ

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)と見なされ、一部のメソッドの補完の提供が停止される可能性があります。