Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Cari Laluan Aplikasi dalam EXE Dijana pyInstaller?

Bagaimanakah Saya Boleh Cari Laluan Aplikasi dalam EXE Dijana pyInstaller?

Mary-Kate Olsen
Lepaskan: 2024-11-30 02:51:09
asal
280 orang telah melayarinya

How Can I Find the Application Path in a pyInstaller-Generated EXE?

Mencari Laluan Aplikasi dalam EXE Python Dijana pyInstaller

Apabila menggabungkan aplikasi Python ke dalam Windows EXE menggunakan pyInstaller, mengakses fail relatif aplikasi mungkin memberikan cabaran. Isu ini timbul kerana sys.path mengembalikan senarai kosong dalam EXE. Untuk mengatasinya, kaedah untuk menentukan laluan aplikasi dengan pasti diperlukan.

Satu pendekatan melibatkan pemeriksaan sama ada aplikasi dijalankan sebagai skrip atau EXE beku:

import os
import sys

config_name = 'myapp.cfg'

# Identify the application path
if getattr(sys, 'frozen', False):
    application_path = os.path.dirname(sys.executable)
elif __file__:
    application_path = os.path.dirname(__file__)

# Determine the configuration file path
config_path = os.path.join(application_path, config_name)
Salin selepas log masuk

Dalam perkara di atas kod:

  • sys.executable menyediakan laluan ke beku EXE.
  • fail menyediakan laluan ke fail skrip jika aplikasi dijalankan sebagai skrip.
  • application_path menyimpan laluan aplikasi yang ditentukan.
  • config_path menyimpan laluan ke fail konfigurasi relatif aplikasi.

Dengan menggunakan mekanisme ini, ia menjadi mungkin untuk mendapatkan semula laluan yang betul ke fail relatif aplikasi, tidak kira sama ada aplikasi itu dilaksanakan sebagai skrip atau EXE yang dijana pyInstaller.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Laluan Aplikasi 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