Maison > Article > développement back-end > Comment déterminer le chemin de l'application dans les EXE Python générés par pyInstaller ?
Détermination du chemin d'application dans les EXE Python générés par pyInstaller
Lors de la création d'applications Python en tant qu'EXE à l'aide de pyInstaller, il devient nécessaire de localiser des fichiers spécifiques relatifs au chemin de l'application. Pour les applications qui nécessitent des fichiers de configuration adjacents à l'exécutable, la méthode conventionnelle d'utilisation de sys.path[0] échoue dans les scénarios EXE.
Pour résoudre ce problème, une approche plus fiable est utilisée :
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)
La fonction getattr() est utilisée pour déterminer si l'attribut 'gelé' est défini dans sys, indiquant un contexte EXE. Si tel est le cas, le chemin de l'application est défini sur le répertoire contenant l'exécutable EXE. Sinon, il revient à utiliser l'attribut __file__ du module Python en cours d'exécution.
En incorporant cette approche, les applications peuvent récupérer systématiquement leur chemin actuel, qu'elles soient exécutées en tant que scripts ou converties en EXE pyInstaller. Cela garantit que les fichiers de configuration et autres ressources associées sont toujours accessibles, même dans les environnements EXE.
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!