Maison > développement back-end > Tutoriel Python > Comment puis-je déterminer de manière fiable le répertoire de mon script Python ?

Comment puis-je déterminer de manière fiable le répertoire de mon script Python ?

Mary-Kate Olsen
Libérer: 2024-12-18 06:29:11
original
322 Les gens l'ont consulté

How Can I Reliably Determine My Python Script's Directory?

Détermination du répertoire de script actuel en Python

Déterminer le répertoire de script actuel en Python peut être difficile en raison des différentes façons dont les scripts peuvent être exécutés . Plusieurs méthodes existent, chacune avec des limitations :

  • Accès à __file__ : Cela fonctionne bien lors de l'exécution directe de scripts (par exemple, ./myfile.py), mais il peut ne pas être défini lorsque en utilisant exec ou execfile.
  • **Utilisation de __module__ : ceci n'est disponible que dans les modules, pas dans les scripts exécutés directement.

Pour la plupart des cas d'utilisation, l'approche recommandée consiste à utiliser os.path.dirname(os.path.abspath(__file__)). Cela fonctionne bien dans la plupart des scénarios, mais cela échoue lors de l'exécution de scripts via exec().

Une note sur le répertoire actuel

Il est important de noter que s'appuyer sur le répertoire actuel Le répertoire permettant de déterminer l'emplacement du script n'est pas fiable. En effet, le répertoire actuel peut varier en fonction de la méthode d'exécution ou des modifications manuelles dans le script.

Conclusion

Bien qu'il n'existe pas de solution parfaite pour chaque cas, os .path.dirname(os.path.abspath(__file__)) fournit une approche fiable pour la plupart des scénarios. Si vous devez gérer l'exécution de exec(), envisagez de définir __file__ dans les valeurs globales transmises au script. Sinon, évitez de vous fier au répertoire actuel car il peut être imprévisible.

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