Seite 1 von 1

Datei aufrufen mit relativen Pfad

Verfasst: Mittwoch 30. Juli 2008, 15:15
von Daniela
Hallo alle miteinander,

ich wollte mal wissen ob es möglich ist eine Datei aufzurufen, wenn man nur den relativen Dateipfad kennt.
Also ich habe einen Hauptordner, der liegt bei mir an einer bestimmten Stelle in meinem ganzen Dateiverzeichnis. Nun will ich eine Datei (txt) öffnen, welche im 3. Unterverzeichnis von dem Hauptordner liegt. Das Python-Skript, welches diese Textdatei öffnet, liegt auch im Hauptordner, aber in einem anderen Unterverzeichnis.

Ich will/kann nicht mit absoluten Dateipfaden arbeiten, weil wenn der Hauptordner z.B. auf einen USB-Stick verschoben wird und dann auf einem anderen PC kopiert wird und dann das Python-Skript gestartet wird, soll ja die Textdatei auch ohne Probleme geladen werden können. Dann ist ja bei einem anderen Computer wahrscheinlich mindestens das Laufwerk verschieden, und je nach dem auch die Verzeichnisstruktur vor dem Hauptordner.

Zur Veranschaulichung der relativen Pfade:
Dateipfad für die Textdatei: A\B\C\D\txt.txt
Dateipfad für Python-Skript: A\E\F\G\H\meinskript.py

Wie komm ich jetzt an die Textdatei ran bzw. wie kann ich sie öffnen?

Vielen Dank im Vorraus

Daniela

Verfasst: Mittwoch 30. Juli 2008, 15:40
von Pablo Escobar
Eine gefuschte Lösung wäre bei deinen Veranschaulichungen
das Script per bat-Datei aus dem Verzeichnis A zu starten
dann müsstest du nur sämtliche Pfadangaben relativ zum Verzeichnis a angeben.
Zum Thema absolute Pfadangaben und Portabilität kannst du auch über die Module:
os und os.path
gehen und dir die Pfade zusammenbasteln.
In dem Fall wäre es egal ob der Pfad:
c:\A\B\C\D\txt.txt
oder
e:\foo\bar\A\B\C\D\txt.txt
ist.
Das Essentielle ist, dass ab A die gleiche Struktur herrscht.

Verfasst: Mittwoch 30. Juli 2008, 15:43
von HWK

Code: Alles auswählen

..\..\..\..\B\C\D\txt.txt
MfG
HWK

Verfasst: Mittwoch 30. Juli 2008, 15:57
von Daniela
HWK hat geschrieben:

Code: Alles auswählen

..\..\..\..\B\C\D\txt.txt
MfG
HWK
Cool danke! es funktioniert. Ich hatte es bei mir auch schon so überlegt gehabt, nur das ich immer noch den Hauptordner mit angegeben hatte und da kam dann "Datei nicht gefunden zurück".
Genau sowas hatte ich gesucht.

@Pablo Escobar
Danke auch für den Tipp.