Comment récupérer le chemin de l'application dans un EXE généré par pyInstaller ?

DDD
Libérer: 2024-11-11 14:28:03
original
255 Les gens l'ont consulté

How to Retrieve the Application Path in a pyInstaller-Generated EXE?

Récupération du chemin d'application dans Python EXE Créé par pyInstaller

Dans le domaine de la programmation, comprendre le contexte d'exécution d'une application est crucial. Surtout lorsqu'il s'agit d'applications groupées, telles que celles créées à l'aide de pyInstaller. Un défi courant survient lorsqu'une application nécessite l'accès à un fichier de configuration situé à côté d'elle. Dans cet article, nous explorerons une technique pour résoudre ce problème en récupérant avec précision le chemin de l'application dans un EXE généré par pyInstaller.

Lorsque vous utilisez la méthode conventionnelle pour construire le chemin d'accès à un fichier adjacent à l'application, comme le montre l'extrait de code ci-dessous :

import os
config_name = 'myapp.cfg'
config_path = os.path.join(sys.path[0], config_name)
Copier après la connexion

On est confronté à un dilemme dans le contexte d'un EXE pyInstaller. La liste sys.path, qui contient normalement le répertoire contenant l'application, est vide. Pour résoudre ce problème, nous utilisons une approche plus robuste qui fait la distinction entre les scripts et les exécutables gelés.

import os
import sys

config_name = 'myapp.cfg'

# Distinguish script file from 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)
Copier après la connexion

Dans ce code, nous inspectons l'attribut « gelé » du module « sys ». Si c'est vrai, nous supposons que l'application s'exécute en tant qu'exécutable gelé et dérivons son chemin de « sys.executable ». À l'inverse, si fichier existe, nous concluons que l'application s'exécute en mode script et que son chemin est dérivé de __file__.

L'utilisation de cette méthode garantit la récupération réussie du chemin de l'application, permettant accès aux fichiers relatifs comme le fichier de configuration crucial.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal