Pfad

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Ferox
User
Beiträge: 48
Registriert: Dienstag 14. März 2006, 16:34

Dienstag 14. März 2006, 16:38

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
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 14. März 2006, 16:42

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Dienstag 14. März 2006, 16:46

Code: Alles auswählen

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

Thomas :-)
Ferox
User
Beiträge: 48
Registriert: Dienstag 14. März 2006, 16:34

Dienstag 14. März 2006, 16:52

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?
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Dienstag 14. März 2006, 16:58

Ä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"...
Ferox
User
Beiträge: 48
Registriert: Dienstag 14. März 2006, 16:34

Dienstag 14. März 2006, 17:05

Danke sehr
Benutzeravatar
Kolazomai
User
Beiträge: 33
Registriert: Donnerstag 16. Februar 2006, 15:05
Kontaktdaten:

Dienstag 14. März 2006, 20:06

Oehm,

mit C:/la/und.so

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

Mfg,

Kolazomai
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

Dienstag 14. März 2006, 20:30

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
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Mittwoch 15. März 2006, 20:54

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
BlackJack

Mittwoch 15. März 2006, 22:22

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