Seite 1 von 1

Pfad

Verfasst: Dienstag 14. März 2006, 16:38
von Ferox
Gibt es eine Möglichkeit, ohne manuell den Pfad eingeben zu müssen, eine txt-Datei, die sich in demselben Ordner wie die .py-Datei befindet, zu lesen?
(Bsp.:
Der Ordner nennt sich C:\\Python\\
und beeinhaltet die datei beispiel.py, sowie auch die zu lesende Textdatei zu_lesen.txt)

Ich benutz Windows

Verfasst: Dienstag 14. März 2006, 16:42
von jens
Aus deiner Frage werde ich nicht wirklich schlau...

Wenn du eine Datei öffnest ohne explizit einen Pfad anzugeben, sucht Python automatisch im Aktuellen Verzeichnis... Probiere es einfach mal aus...

Verfasst: Dienstag 14. März 2006, 16:46
von Python 47

Code: Alles auswählen

f=open(zu_lesende_Datei.txt, 'w')
f.write('blablabla')
f.close

Verfasst: Dienstag 14. März 2006, 16:52
von Ferox
Okay, das wusst ich nich, nächste Frage:

Nu hab ich in diesem Ordner, wo ich die .py-Datei drin hab noch nen weiteren Ordner, wo bestimmte Textdateien reinsollen...wie kann ich in den Ordner schreiben, ohne den Pfad angeben zu müssen?

Verfasst: Dienstag 14. März 2006, 16:58
von Joghurt
Ähh... Genauso, wie du es sonst auch machst...

Wenn du im Verzeichnis c:\foo\bar bist, beschriebt "baz\quux.txt" die Datei "C:\foo\bar\baz\quux.txt"...

Verfasst: Dienstag 14. März 2006, 17:05
von Ferox
Danke sehr

Verfasst: Dienstag 14. März 2006, 20:06
von Kolazomai
Oehm,

mit C:/la/und.so

Also slashes und keine backslashes ^^ bei mir jedenfalls :P

Mfg,

Kolazomai

Verfasst: Dienstag 14. März 2006, 20:30
von querdenker
Kolazomai hat geschrieben:...
C:/la/und.so

Also slashes und keine backslashes ...
unter Win* muß man den backslash "escapen", wenn man den braucht,
soll heißen:

Code: Alles auswählen

pathToFile="c:\\dir1\\dir2\\datei.ext"
mfg, querdenker

Verfasst: Mittwoch 15. März 2006, 20:54
von Masaru
Die "Adressierung" von der aktuellen Position zu darunter liegenden Verzeichnissen, Dateien oder weiter verschachtelten Unterstrukturen kannst du ansonsten auch noch so lösen:

Code: Alles auswählen

import os
import sys

sub_path    = "my files\\file.txt"
script_path =  sys.path[0]  # im Falle eines Scriptes, der Pfad wo sich dieses befindet

target_path = os.path.join(script_path, sub_path)

# hinter 'target_path' verbirgt sich dann wieder der komplette Pfad

Verfasst: Mittwoch 15. März 2006, 22:22
von BlackJack
Und in Modulen ist der Pfad zum Modul an den Namen `__file__` gebunden. Den kann man auch so wie ``sys.argv[0]`` auseinandernehmen um an den Pfad ohne Moduldatei zu kommen.