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

Comment puis-je déterminer de manière fiable le répertoire de scripts actuel en Python ?

Patricia Arquette
Libérer: 2024-12-13 17:19:10
original
600 Les gens l'ont consulté

How Can I Reliably Determine the Current Script Directory in Python?

Déterminer efficacement le répertoire de script actuel en Python

En Python, l'obtention du répertoire de script actuel pose des défis en raison de diverses méthodes d'exécution de script. Les attributs file et module, bien qu'utiles, ont des limites pour certains scénarios.

Considérez les cas suivants :

  • Exécution directe : . /myfile.py
  • Exécution avec l'interpréteur Python : python myfile.py
  • Exécution depuis un autre script à l'aide de exec()
  • Exécution depuis un autre répertoire

Pour répondre à ces divers scénarios, l'approche recommandée est la suivante :

os.path.dirname(os.path.abspath(__file__))
Copier après la connexion

Cette méthode combine le chemin absolu du fichier avec le nom du répertoire, fournissant le répertoire correct quelle que soit la méthode d'exécution utilisé.

Attention :

Le recours au répertoire de travail actuel est déconseillé, car il peut être modifié lors de l'exécution du script et varier en fonction de l'invocation.

Pour les cas impliquant l'exécution de exec(), une solution de contournement possible consiste à définir le fichier global dans la portée transmise au script. Cependant, cette approche pourrait ne pas être réalisable pour tous les cas d'utilisation.

En résumé, même s'il n'existe pas de solution universelle, l'approche décrite ici offre une méthode robuste et fiable pour déterminer le répertoire de script actuel en Python.

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