Maison > développement back-end > Tutoriel Python > Comment trouver de manière fiable le répertoire d'un script Python pour l'ouverture de fichiers ?

Comment trouver de manière fiable le répertoire d'un script Python pour l'ouverture de fichiers ?

Barbara Streisand
Libérer: 2024-11-29 00:44:12
original
731 Les gens l'ont consulté

How to Reliably Find a Python Script's Directory for File Opening?

Trouver le répertoire du script pour une ouverture fiable des fichiers

Lorsque les scripts Python sont appelés à partir de différents environnements, ils peuvent ne pas toujours utiliser le même répertoire de travail. Cela peut entraîner des problèmes lorsque vous essayez d'ouvrir des fichiers situés dans le même répertoire que le script.

Pour garantir une ouverture fiable des fichiers, il est crucial de déterminer avec précision le répertoire réel du script. Diverses approches ont été utilisées, mais certaines méthodes peuvent avoir des limites :

  • os.getcwd() et os.path.abspath('') : celles-ci renvoient le répertoire de travail actuel , pas nécessairement le répertoire du script.
  • os.path.dirname(sys.argv[0]) et os.path.dirname(__file__) : Ceux-ci fournissent le chemin utilisé pour appeler le script, qui peut être relatif ou manquant si le script se trouve dans le répertoire courant. file est également indisponible dans certains environnements.
  • sys.path[0] et os.path.abspath(os.path.dirname(sys.argv[0]))  : Ceux-ci semblent renvoyer le répertoire du script, mais leur fiabilité dans différents scénarios n'est pas entièrement garanti.

Cependant, une solution plus fiable qui peut également prendre en compte les importations de modules est :

__location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
Copier après la connexion

Cette méthode ajoute au préalable le répertoire de travail actuel mais le supprime si le chemin du script est absolu. Il résout également les liens symboliques pour plus de précision.

Pour ouvrir des fichiers à l'aide de cette méthode :

f = open(os.path.join(__location__, 'file.ext'))
Copier après la connexion

En utilisant __location__, vous pouvez ouvrir des fichiers de manière fiable à partir du répertoire du script, qu'il soit appelé directement ou importé. en modules. Cette approche assure la cohérence entre différents environnements et permet d'éviter les problèmes d'ouverture de fichiers.

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