Bayangkan dilema ini: anda sedang mengodkan aplikasi Python yang digabungkan ke dalam EXE dengan PyInstaller, dan ia bergantung pada fail .cfg dalam direktorinya. Malangnya, kaedah biasa membina laluan menggunakan sys.path[0] gagal dalam EXE. Adakah terdapat penyelesaian untuk menentukan laluan aplikasi dengan pasti?
Nah, berikut ialah penyelesaian yang cemerlang:
import os import sys config_name = 'myapp.cfg' # First, we check if the application is running as a script or as an EXE: if getattr(sys, 'frozen', False): # If frozen as an EXE, we extract the path from sys.executable: application_path = os.path.dirname(sys.executable) else: # If it's a script file (i.e., not frozen as an EXE), we use __file__: application_path = os.path.dirname(__file__) # Finally, we join the path and the config file name to create the complete path: config_path = os.path.join(application_path, config_name)
Helah pintar ini memanfaatkan atribut fail Python, yang hanya ditakrifkan semasa berjalan sebagai skrip, dan atribut 'beku' dalam modul sys, yang menunjukkan jika aplikasi dibekukan sebagai EXE. Ia mengendalikan kedua-dua senario dengan anggun, menyediakan penyelesaian yang mantap untuk mencari fail konfigurasi anda walaupun dalam persekitaran EXE-fied.
Atas ialah kandungan terperinci Bagaimana untuk Mencari Laluan Aplikasi Anda dalam EXE Dijana PyInstaller?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!