Maison >développement back-end >Tutoriel Python >## Comment déterminer de manière fiable le chemin du fichier en cours d'exécution en Python ?

## Comment déterminer de manière fiable le chemin du fichier en cours d'exécution en Python ?

DDD
DDDoriginal
2024-10-25 04:40:02460parcourir

## How to Reliably Determine the Path of the Executing File in Python?

Détermination du chemin du fichier en cours d'exécution en Python

En Python, acquérir le chemin d'accès au fichier en cours d'exécution peut être une tâche complexe. Diverses méthodes proposées à cet effet présentent des limites, comme expliqué ci-dessous :

  • os.path.abspath(os.path.dirname(sys.argv[0])) : Cette approche échoue lorsque le script est exécuté à partir d'un autre script Python résidant dans un répertoire différent.
  • os.path.abspath(os.path.dirname(__file__ )) : Cette méthode échoue dans plusieurs scénarios, notamment lorsque le script :

       <li>Runs via py2exe (a workaround exists)</li>
       <li> Executes from IDLE using execute() (lacks __file__ attribute)</li>
       <li> Executes in Mac OS X v10.6 with NameError</li>


  • Pour remédier à ces limitations, une solution alternative existe :

    <code class="python">from inspect import getsourcefile
    from os.path import abspath
    path = abspath(getsourcefile(lambda:0))</code>

    Ce code combine les fonctions des modules inspect et os.path pour obtenir le chemin absolu du fichier source du bloc de code en cours d'exécution , quel que soit le contexte 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