定番ディレクトリしたい(platformdirs)
1import platformdirs
2platformdirs.user_data_dir("パッケージ名")
3platformdirs.user_cache_dir("パッケージ名")
4platformdirs.user_log_dir("パッケージ名", ensure_exists=True)
各種データを保存するディレクトリ名はOSによって異なります。
platformdirsを使うと定番パスを取得できます。
また、ensure_existsオプションを使うと、パスが存在しない場合に作成できます。
以下はmacOSで確認しました。
ユーザーデータしたい(user_data_dir)
1platformdirs.user_data_dir("パッケージ名")
2# '~/Library/Application Support/パッケージ名'
3
4platformdirs.user_data_path("パッケージ名")
5# PosixPath('~/Library/Application Support/パッケージ名')
キャッシュデータしたい(user_cache_dir)
1platformdirs.user_cache_dir("パッケージ名")
2# '~/Library/Caches/パッケージ名'
3
4platformdirs.user_cache_path("パッケージ名")
5# PosixPath('~/Library/Caches/パッケージ名')
ログしたい(user_log_dir)
1platformdirs.user_log_dir("パッケージ名")
2# '~/Library/Logs/パッケージ名'
3
4platformdirs.user_log_path("パッケージ名")
5# PosixPath('~/Library/Logs/パッケージ名')
アプリケーションのログは、カレントディレクトリではなく、 ユーザーやシステムが探しやすい適切な場所に保存するのがよいとされています。