Maison  >  Article  >  développement back-end  >  Comment lire des fichiers avec des chemins relatifs dans des projets Python ?

Comment lire des fichiers avec des chemins relatifs dans des projets Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 03:00:31183parcourir

How to Read Files with Relative Paths in Python Projects?

Lecture d'un fichier à l'aide d'un chemin relatif dans un projet Python

Dans un projet Python avec une structure de répertoires spécifique, récupérer des fichiers à l'aide de chemins relatifs peut rencontrer des erreurs en raison du concept de chemins relatifs liés au répertoire de travail actuel.

Pour résoudre ce problème, un chemin absolu peut être utilisé à la place. Cependant, construire des chemins absolus en Python peut s'avérer fastidieux.

Une solution utilisant l'attribut spécial file permet la construction d'un chemin absolu par rapport à l'emplacement du script actuel :

<code class="python">from pathlib import Path

path = Path(__file__).parent / "../data/test.csv"
with path.open() as f:
    test = list(csv.reader(f))</code>

Cette méthode nécessite Python 3.4 ou version ultérieure en raison du module pathlib. Pour les anciennes versions, une solution de contournement existe :

<code class="python">import csv
import os.path

my_path = os.path.abspath(os.path.dirname(__file__))
path = os.path.join(my_path, "../data/test.csv")
with open(path) as f:
    test = list(csv.reader(f))</code>

Grâce à cette technique, les fichiers peuvent être récupérés à l'aide de chemins relatifs au sein de la structure du projet, quel que soit le répertoire de travail actuel.

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