Maison > développement back-end > Tutoriel Python > Chemins absolus ou relatifs dans les plans Flask : comment référencer correctement les répertoires ?

Chemins absolus ou relatifs dans les plans Flask : comment référencer correctement les répertoires ?

Susan Sarandon
Libérer: 2024-12-26 17:41:14
original
375 Les gens l'ont consulté

Absolute vs. Relative Paths in Flask Blueprints: How to Correctly Reference Directories?

Référencement des répertoires dans Flask : chemins absolus ou relatifs

Dans les applications Flask, lors de l'accès à des répertoires à partir de vues situées dans des plans en dehors de la racine répertoire, le chemin doit être absolu. En effet, les chemins relatifs sont interprétés par rapport au répertoire de travail actuel, et non au répertoire où se trouve le code.

Pour illustrer, supposons que vous ayez une application Flask avec la structure suivante :

project/
    app/
        __init__.py
        views.py
    blueprints/
        __init__.py
        blueprint.py
    data/
        nltk_data
Copier après la connexion

Du point de vue du plan, le code suivant échouera :

nltk.data.path.append('../nltk_data/')
Copier après la connexion

Le chemin est relatif au répertoire du plan, mais nltk.data attend un chemin absolu. La bonne façon de spécifier le chemin est d'utiliser la forme absolue :

nltk.data.path.append('/home/username/myapp/app/nltk_data/')
Copier après la connexion

Vous pouvez également utiliser l'attribut root_path de l'application ou du plan pour construire un chemin absolu, comme ceci :

resource_path = os.path.join(app.root_path, 'nltk_data')
Copier après la connexion

Ceci est recommandé car cela évite d'avoir à coder en dur les chemins, ce qui rend votre code plus portable.

Notez qu'il n'est généralement pas nécessaire d'ajouter le répertoire vers nltk.data chaque fois que vous appelez une vue. Vous pouvez généralement configurer le chemin des données une fois lors de la création de l'application. Consultez la documentation de nltk pour obtenir des instructions spécifiques sur la façon de procéder.

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