Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich Dateien mit relativen Pfaden in Python-Projekten?

Wie lese ich Dateien mit relativen Pfaden in Python-Projekten?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 03:00:31183Durchsuche

How to Read Files with Relative Paths in Python Projects?

Lesen einer Datei mithilfe eines relativen Pfads in einem Python-Projekt

In einem Python-Projekt mit einer bestimmten Verzeichnisstruktur das Abrufen von Dateien mithilfe relativer Pfade Aufgrund des Konzepts, dass relative Pfade an das aktuelle Arbeitsverzeichnis gebunden sind, können Fehler auftreten.

Um dieses Problem zu beheben, kann stattdessen ein absoluter Pfad verwendet werden. Das Erstellen absoluter Pfade in Python kann jedoch umständlich sein.

Eine Lösung, die das spezielle Attribut Datei verwendet, ermöglicht die Erstellung eines absoluten Pfads relativ zum Speicherort des aktuellen Skripts:

<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>

Diese Methode erfordert aufgrund des Pathlib-Moduls Python 3.4 oder höher. Für ältere Versionen gibt es einen Workaround:

<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>

Mit dieser Technik können Dateien über relative Pfade innerhalb der Projektstruktur abgerufen werden, unabhängig vom aktuellen Arbeitsverzeichnis.

Das obige ist der detaillierte Inhalt vonWie lese ich Dateien mit relativen Pfaden in Python-Projekten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn