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

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

DDD
DDDoriginal
2024-10-25 03:23:29833parcourir

## How to Reliably Determine the Path of the Executing Python Script?

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

Introduction

Lors de l'exécution de scripts Python, il est souvent nécessaire d'obtenir le chemin d'accès au fichier en cours d'exécution. Ce chemin est essentiel pour diverses tâches, telles que l'accès aux ressources dans le répertoire du script ou la résolution de chemins relatifs.

Approches pour déterminer le chemin du script

Bien que certaines approches puissent échouer dans certains scénarios, il existe une solution complète qui fournit systématiquement le résultat souhaité.

Utilisation d'Inspect et Os

Pour déterminer avec précision le chemin du script en cours d'exécution, il est recommandé pour utiliser à la fois les modules inspect et os.

  1. Importez les modules nécessaires :
<code class="python">from inspect import getsourcefile
from os.path import abspath</code>
  1. Obtenez le chemin :
<code class="python">path = abspath(getsourcefile(lambda: 0))</code>

La fonction getsourcefile récupère le fichier source de la fonction lambda fournie, qui représente le script en cours d'exécution. La fonction abspath garantit que le chemin résultant est absolu, éliminant ainsi tout problème potentiel avec les chemins relatifs.

Implémentation

Par exemple, considérons le code suivant :

<code class="python"># Running script: a.py

path = abspath(getsourcefile(lambda: 0))
print(path)  # Prints the absolute path of the 'a.py' script</code>

Même lorsque le script est exécuté à partir d'un répertoire différent ou à l'aide d'outils spécifiques comme py2exe ou IDLE, cette approche fournit systématiquement le chemin correct vers le script en cours 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