pyInstaller によって生成された Python EXE のアプリケーション パスの決定
pyInstaller を使用して Python アプリケーションを EXE としてビルドする場合、特定のファイルを相対的に配置する必要があります。アプリケーションのパスに。実行可能ファイルに隣接する構成ファイルを必要とするアプリケーションの場合、sys.path[0] を使用する従来の方法は EXE シナリオで失敗します。
この問題に対処するために、より信頼性の高いアプローチが採用されています。
import os import sys config_name = 'myapp.cfg' # Check if the application is a script or a frozen EXE if getattr(sys, 'frozen', False): application_path = os.path.dirname(sys.executable) elif __file__: application_path = os.path.dirname(__file__) config_path = os.path.join(application_path, config_name)
getattr() 関数は、sys で「frozen」属性が定義されているかどうかを判断するために使用され、EXE コンテキストを示します。存在する場合、アプリケーション パスは、EXE 実行可能ファイルを含むディレクトリに設定されます。それ以外の場合は、実行中の Python モジュールの __file__ 属性の使用に戻ります。
このアプローチを組み込むことにより、アプリケーションは、スクリプトとして実行されるか pyInstaller EXE に変換されるかに関係なく、一貫して現在のパスを取得できます。これにより、EXE 環境であっても、構成ファイルおよびその他の関連リソースに常にアクセスできるようになります。
以上がpyInstaller によって生成された Python EXE のアプリケーション パスを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。