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

Pfad

Beitragvon Ferox » 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: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » 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

Beitragvon Python 47 » 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

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

Beitragvon Joghurt » 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

Beitragvon Ferox » Dienstag 14. März 2006, 17:05

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

Beitragvon Kolazomai » 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

Beitragvon querdenker » 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

Beitragvon Masaru » 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

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

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]