Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengakses Fail Luaran dalam PyInstaller --onefile Executable?

Bagaimanakah Saya Boleh Mengakses Fail Luaran dalam PyInstaller --onefile Executable?

Patricia Arquette
Lepaskan: 2024-12-21 15:52:10
asal
1013 orang telah melayarinya

How Can I Access External Files in a PyInstaller --onefile Executable?

Menggabungkan Fail Luaran dengan PyInstaller melalui --onefile

Apabila cuba mencipta satu fail boleh laku (.exe) menggunakan PyInstaller's -- pilihan satu fail, pengguna mungkin menghadapi kesukaran untuk memasukkan fail luaran, seperti imej atau ikon. Walaupun pilihan ini menghasilkan aplikasi mudah alih yang mudah, ia selalunya gagal untuk mengesan fail tambahan yang menyumbang kepada kefungsian aplikasi.

Untuk menyelesaikan isu ini, versi PyInstaller yang terdahulu bergantung pada menetapkan pembolehubah persekitaran untuk menentukan lokasi fail tambahan. Walau bagaimanapun, kemas kini baru-baru ini kepada PyInstaller telah mengubah pendekatan ini. Kaedah semasa untuk mengakses fail luaran dalam mod --onefile adalah melalui pembolehubah sys._MEIPASS.

Kod berikut menunjukkan cara untuk mengakses fail luaran menggunakan pendekatan yang dikemas kini:

import sys

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)
Salin selepas log masuk

Oleh menggunakan fungsi ini dengan laluan relatif kepada fail luaran, anda boleh mendapatkan laluan mutlaknya, tidak kira sama ada anda menjalankan aplikasi daripada persekitaran pembangunan atau PyInstaller yang dijana boleh laku.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fail Luaran dalam PyInstaller --onefile Executable?. 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