Maison >développement back-end >Tutoriel Python >Comment puis-je déterminer de manière fiable le répertoire de mon script Python dans différents scénarios d'exécution ?

Comment puis-je déterminer de manière fiable le répertoire de mon script Python dans différents scénarios d'exécution ?

DDD
DDDoriginal
2024-12-25 07:24:54836parcourir

How Can I Reliably Determine My Python Script's Directory Under Different Execution Scenarios?

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

Malgré la polyvalence de Python, l'identification du répertoire de script actuel peut être un défi en raison de diverses exécutions méthodes.

Énoncé du problème :
La tâche est de trouver le moyen le plus fiable pour déterminer le répertoire de script actuel dans différents scénarios :

  • Exécution directe (par exemple, ./myfile.py)
  • Exécution via l'interpréteur Python (par exemple, python myfile.py)
  • Exécution avec exec ou execfile d'un autre script

Défis :

  • __file__ n'est pas défini lors de l'utilisation d'exec ou d'execfile.
  • __module__ n'est défini que dans les modules.

Meilleur Approche :
Bien qu'aucune solution ne soit parfaite, l'approche la plus largement utilisée est os.path.dirname(os.path.abspath(__file__)). Cependant, cela échoue lors de l'exécution d'un script via exec() depuis un autre.

Attention :
L'utilisation du répertoire courant n'est pas une solution viable car elle peut varier en fonction de la façon dont le script est exécuté. est invoqué ou modifié pendant l'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