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
Pfad
Code: Alles auswählen
f=open(zu_lesende_Datei.txt, 'w')
f.write('blablabla')
f.close
mfg
Thomas :-)
Thomas :-)
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?
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?
Oehm,
mit C:/la/und.so
Also slashes und keine backslashes ^^ bei mir jedenfalls
Mfg,
Kolazomai
mit C:/la/und.so
Also slashes und keine backslashes ^^ bei mir jedenfalls

Mfg,
Kolazomai
-
- User
- Beiträge: 424
- Registriert: Montag 28. Juli 2003, 16:19
- Wohnort: /dev/reality
unter Win* muß man den backslash "escapen", wenn man den braucht,Kolazomai hat geschrieben:...
C:/la/und.so
Also slashes und keine backslashes ...
soll heißen:
Code: Alles auswählen
pathToFile="c:\\dir1\\dir2\\datei.ext"
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
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.