Référencement de répertoires non absolus dans les applications Flask
Dans une application Flask, les tentatives de référence à un répertoire à l'aide d'un chemin relatif peuvent échouer, sauf si le chemin est absolu. Cette anomalie survient car, en Python, l'emplacement du code et le répertoire de travail actuel sont des entités distinctes. Par conséquent, les chemins relatifs sont interprétés en fonction du répertoire de travail actuel plutôt que de l'emplacement du fichier de code.
Dans l'exemple fourni, le développeur tente de référencer le répertoire de données à l'aide d'un chemin relatif :
nltk.data.path.append('../nltk_data/')
Cependant, cette approche s’avère infructueuse. La solution réside dans l'utilisation du chemin absolu :
nltk.data.path.append('/home/username/myapp/app/nltk_data/')
Pour référencer correctement le répertoire de données, un chemin relatif vers le répertoire peut être joint à l'attribut de chemin racine de l'application, garantissant ainsi un chemin absolu quel que soit le chemin d'accès actuel. annuaire. Ceci est réalisé à l'aide du code suivant :
resource_path = os.path.join(app.root_path, 'nltk_data')
De plus, il est recommandé de configurer le chemin des données une fois lors de la création de l'application plutôt que de le mettre à jour de manière répétée à chaque appel de vue.
En conclusion, lorsque faire référence à un répertoire dans une application Flask, utiliser des chemins absolus ou combiner des chemins relatifs avec l'attribut de chemin racine de l'application garantit un référencement réussi, éliminant toute confusion provenant de la distinction entre l'emplacement du code et le travail actuel répertoire.
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!