Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mencari Laluan Aplikasi Anda dalam EXE Dijana PyInstaller?

Bagaimana untuk Mencari Laluan Aplikasi Anda dalam EXE Dijana PyInstaller?

Barbara Streisand
Lepaskan: 2024-11-26 12:23:13
asal
431 orang telah melayarinya

How to Find Your Application Path in PyInstaller-Generated EXEs?

Kuantiti Kod: Mencari Laluan Aplikasi dalam PyInstaller-Generated Python EXE

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan