Heim >Backend-Entwicklung >Python-Tutorial >Wie greife ich auf statische Dateien zu, die in Python-Pakete eingebettet sind?
Statische Dateien in Python-Paketen abrufen
Problem:
So rufen Sie eine gepackte Datei ab innerhalb eines Python-Pakets, da darauf nicht über den Standarddateipfad zugegriffen werden kann Methoden?
Paketstruktur:
Stellen Sie sich eine Paketstruktur vor, bei der Vorlagen in einem verschachtelten Ordner „templates“ gespeichert werden:
<package> |-- <module> |-- templates |-- temp_file
Lösung:
Es gibt mehrere Methoden, um die abzurufen Datei:
1. Verwenden von importlib.resources (Python 3.7):
from importlib import resources as impresources resource_package = __name__ resource_path = "templates/temp_file" try: inp_file = impresources.files(resource_package) / resource_path with inp_file.open("rb") as f: template = f.read() except AttributeError: # Python < 3.9 template = impresources.read_text(resource_package, resource_path)
2. Die Verwendung von pkg_resources (setuptools):
import pkg_resources resource_package = __name__ resource_path = "/".join(("templates", "temp_file")) template = pkg_resources.resource_string(resource_package, resource_path)
Details:
Das obige ist der detaillierte Inhalt vonWie greife ich auf statische Dateien zu, die in Python-Pakete eingebettet sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!