>  기사  >  백엔드 개발  >  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() 함수는 EXE 컨텍스트를 나타내는 'frozen' 속성이 sys에 정의되어 있는지 확인하는 데 사용됩니다. 그렇다면 응용 프로그램 경로는 EXE 실행 파일이 포함된 디렉터리로 설정됩니다. 그렇지 않으면 실행 중인 Python 모듈의 __file__ 속성을 사용하게 됩니다.

이 접근 방식을 통합하면 애플리케이션은 스크립트로 실행되거나 pyInstaller EXE로 변환되는지 여부에 관계없이 현재 경로를 일관되게 검색할 수 있습니다. 이를 통해 EXE 환경에서도 구성 파일 및 기타 관련 리소스에 항상 액세스할 수 있습니다.

위 내용은 pyInstaller로 생성된 Python EXE에서 응용 프로그램 경로를 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.