ホームページ >バックエンド開発 >Python チュートリアル >PyInstaller EXE のアプリケーション パスを確認するにはどうすればよいですか?

PyInstaller EXE のアプリケーション パスを確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-13 13:23:021046ブラウズ

How to Determine the Application Path in a PyInstaller EXE?

pyInstaller EXE でのアプリケーション パスの決定

pyInstaller を使用して EXE としてバンドルされた Python アプリケーションでは、sys.path[0] を使用してアプリケーション パスにアクセスします問題になる可能性があります。このパスは空であるか、誤解を招く可能性があります。この課題を克服するには、アプリケーションの場所を特定するためのより堅牢なアプローチが必要です。

解決策

アプリケーションのパスを取得するには、アプリケーションのパスをスクリプトとして実行するか、それとも実行するかを区別します。凍結された EXE として:

import os
import sys

config_name = 'myapp.cfg'

# Check if application is a script file or frozen exe
if getattr(sys, 'frozen', False):
    # Frozen executable, get the path from sys.executable
    application_path = os.path.dirname(sys.executable)
elif __file__:
    # Script file, get the path from __file__
    application_path = os.path.dirname(__file__)

config_path = os.path.join(application_path, config_name)

このソリューションは、実行モードに関係なく、アプリケーションのパスを効果的に取得します。これにより、相対ファイルの信頼できる場所が確保され、アプリケーションの機能が保証されます。

以上がPyInstaller EXE のアプリケーション パスを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。