Maison  >  Article  >  développement back-end  >  Comment ouvrir des fichiers dans le même répertoire que votre script Python ?

Comment ouvrir des fichiers dans le même répertoire que votre script Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-18 12:19:02432parcourir

How to Open Files in the Same Directory as Your Python Script?

Ouverture de fichiers dans le même répertoire que le script en cours d'exécution

Lorsque vous travaillez avec des scripts Python, l'ouverture fiable de fichiers dans le même répertoire que le script en cours d'exécution est crucial. Cependant, l'utilisation de commandes telles que open("Some file.txt", "r") peut rencontrer des problèmes si le script est exécuté par double-clic sous Windows.

Techniques problématiques et fiables

Les techniques qui peuvent échouer incluent :

  • os.getcwd() et os.path.abspath('') renvoient le répertoire de travail actuel, pas le répertoire de script.
  • os.path.dirname(sys.argv[0]) et os.path.dirname(__file__) peuvent renvoyer un chemin relatif ou vide, et __file__ n'est pas disponible dans certains environnements.

A La méthode fiable est :

__location__ = os.path.realpath(
    os.path.join(os.getcwd(), os.path.dirname(__file__)))

Cela combine le répertoire de travail actuel avec le chemin dérivé de __file__. Si __file__ est absolu, le préfixe est supprimé. La gestion de Realpath garantit que tous les liens symboliques sont résolus.

Ouverture de fichiers

Pour ouvrir un fichier dans le même répertoire, utilisez la syntaxe suivante :

f = open(os.path.join(__location__, 'bundled-resource.jpg'))

Cela garantit que le fichier se trouve dans le même répertoire que le script en cours d'exécution. La technique fonctionne de manière fiable dans les environnements Windows et Linux, gérant efficacement les scénarios de double-clic et de regroupement de ressources.

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