Maison  >  Article  >  développement back-end  >  Comment déterminer l'emplacement correct du répertoire de script lors de l'exécution via une vue Django ?

Comment déterminer l'emplacement correct du répertoire de script lors de l'exécution via une vue Django ?

DDD
DDDoriginal
2024-10-24 05:07:30212parcourir

How to Determine the Correct Script Directory Location when Run Through a Django View?

Comment déterminer l'emplacement du répertoire d'un script

Une enquête a été soulevée concernant la détermination de l'emplacement du répertoire d'un script, en particulier lorsqu'il est exécuté dans un script exécuté par une vue Django. Le code Python en question utilise os.getcwd() pour récupérer le répertoire du fichier de script, mais des divergences surviennent entre l'exécution de la ligne de commande et l'exécution du script via une vue Django, ce qui entraîne l'apparition de "/". étant imprimé à la place.

Approches alternatives

Pour résoudre ce problème, diverses approches ont été proposées :

  • Utiliser os. getcwd() : Bien que os.getcwd() fournisse le répertoire de travail actuel, il s'aligne toujours sur le répertoire du script.
  • Utilisation de os.path.abspath() : Semblable à os.getcwd(), os.path.abspath() renvoie également le répertoire de travail actuel, qui peut ou non être le répertoire du script.
  • Utilisation de file__ : Lors de l'exécution du script depuis une vue Django, __file ne fournit que le nom du fichier sans le chemin.

La solution

Pour identifier de manière cohérente le répertoire du script emplacement, l'approche suivante est recommandée :

<code class="python">import os
print(os.path.dirname(os.path.realpath(__file__)))</code>

En employant os.path.realpath sur file__, le chemin est résolu même si __file ne contient que le nom du fichier. En conséquence, cette approche garantit une récupération précise du chemin du répertoire dans divers scénarios d'exécution.

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!

Déclaration:
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