Maison > développement back-end > Tutoriel Python > Comment puis-je accéder aux fichiers statiques dans mes packages Python ?

Comment puis-je accéder aux fichiers statiques dans mes packages Python ?

Patricia Arquette
Libérer: 2024-12-06 07:52:12
original
468 Les gens l'ont consulté

How Can I Access Static Files Within My Python Packages?

Accès aux fichiers statiques à partir des packages Python

L'accès aux fichiers statiques qui résident dans un package Python peut être réalisé par différentes méthodes. Une approche recommandée consiste à exploiter le module importlib.resources, disponible dans les versions 3.7 et ultérieures de Python.

Pour utiliser le module importlib.resources, suivez ces étapes :

  1. Assurez-vous que importlib.resources est importé en tant qu'impresources.
  2. Importez le package contenant les fichiers statiques, en utilisant une importation relative
  3. Accédez au fichier dans le package importé en utilisant la syntaxe suivante :
inp_file = (impresources.files(templates) / 'temp_file')
Copier après la connexion

Pour les versions Python antérieures à 3.7, une version rétroportée de la bibliothèque importlib_resources peut être utilisée. Installez-le avec la commande suivante :

pip install importlib_resources
Copier après la connexion

Une fois installé, vous pouvez utiliser le module rétroporté de la même manière que décrit ci-dessus.

Alternativement, pour les versions 3.6 et supérieures de Python, vous pouvez utilisez le module pkg_resources traditionnel du package setuptools :

resource_package = __name__
resource_path = '/'.join(('templates', 'temp_file'))
template = pkg_resources.resource_string(resource_package, resource_path)
Copier après la connexion

Quelle que soit la méthode utilisée, il est crucial de rappelez-vous ce qui suit :

  • N'utilisez pas os.path.join() pour créer des chemins de ressources, car ce ne sont pas des chemins de système de fichiers.
  • Dans les versions Python 3.11 et supérieures, resource_string et Les fonctions resource_stream sont obsolètes. Utilisez plutôt importlib.resources.read_text et importlib.resources.open_text.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal