ホームページ  >  記事  >  バックエンド開発  >  pyInstaller によって生成された Python EXE のアプリケーション パスを確認する方法

pyInstaller によって生成された Python EXE のアプリケーション パスを確認する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-12 13:45:02836ブラウズ

How to Determine Application Path in Python EXEs Generated by pyInstaller?

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 サイトの他の関連記事を参照してください。

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