Menentukan Laluan Aplikasi dalam Python EXE Dijana oleh pyInstaller
Apabila membina aplikasi Python sebagai EXE menggunakan pyInstaller, ia menjadi perlu untuk mencari fail tertentu secara relatif ke laluan aplikasi. Untuk aplikasi yang memerlukan fail konfigurasi bersebelahan dengan boleh laku, kaedah konvensional menggunakan sys.path[0] gagal dalam senario EXE.
Untuk menangani isu ini, pendekatan yang lebih dipercayai digunakan:
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)
Fungsi getattr() digunakan untuk menentukan sama ada atribut 'beku' ditakrifkan dalam sys, menunjukkan konteks EXE. Jika ya, laluan aplikasi ditetapkan kepada direktori yang mengandungi EXE boleh laku. Jika tidak, ia akan kembali menggunakan atribut __file__ modul Python yang sedang berjalan.
Dengan menggabungkan pendekatan ini, aplikasi boleh mendapatkan semula laluan semasa mereka secara konsisten, tidak kira sama ada ia dilaksanakan sebagai skrip atau ditukar kepada pyInstaller EXE. Ini memastikan bahawa fail konfigurasi dan sumber lain yang berkaitan sentiasa boleh diakses, walaupun dalam persekitaran EXE.
Atas ialah kandungan terperinci Bagaimana untuk Menentukan Laluan Aplikasi dalam Python EXEs Dijana oleh pyInstaller?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!