Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengakses Fail Statik Dalam Pakej Python?
Bayangkan pakej Python anda mengandungi fail teks templat yang anda ingin akses dari dalam anda program. Apabila menentukan laluan ke fail ini, ia menjadi perlu untuk mengendalikan struktur pakej.
Jika keserasian ke belakang tidak menjadi kebimbangan (iaitu, anda menggunakan Python 3.9 atau lebih tinggi), memanfaatkan importlib.resources modul.
from importlib import resources as impresources from . import templates inp_file = impresources.files(templates) / 'temp_file' with inp_file.open("rt") as f: template = f.read()
Untuk versi Python di bawah 3.9, pertimbangkan untuk menggunakan modul pkg_resources daripada alat persediaan pengedaran.
import pkg_resources # Could be a dot-separated package/module name or a "Requirement" resource_package = __name__ resource_path = '/'.join(('templates', 'temp_file')) # Do not use os.path.join() template = pkg_resources.resource_string(resource_package, resource_path) # or for a file-like stream: template = pkg_resources.resource_stream(resource_package, resource_path)
Cari templat anda dalam hierarki pakej:
<your-package> +--<module-asking-for-the-file> +--templates/ +--temp_file
Rujuk fail templat menggunakan sama ada kaedah:
Pilihan 1 (importlib.resources):
from . import templates inp_file = impresources.files(templates) / 'temp_file'
Pilihan 2 (pkg_resources):
resource_path = '/'.join(('templates', 'temp_file')) template = pkg_resources.resource_string(__name__, resource_path)
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Fail Statik Dalam Pakej Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!