Relativer Pfad zu Dateien bei Programmausführung

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
shor
User
Beiträge: 13
Registriert: Montag 7. April 2008, 22:18

Hallo!

Wenn Programm foo.py im Verzeichnis "fooprog" liegt und im verzeichnis "fooprog" ein Verzeichnis "footmp" existiert und ich mich in foo.py auf Dateien im Verzeichnis "footmp" beziehe, z.B. mit fopen ( 'footmp/a.py' ) dann funktioniert das nur wenn ich foo.py aus dem verzeichnis "fooprog" starte aber nich wenn ich z.B. von / aus das Programm mit "python /fooprog/foo.py" aufrufe.

Was gibt es da für Möglichkeiten, dass das unabhängig vom Ort, von dem aus das Programm aufgerufen wird, funktioniert?

Grüße,
shor
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Das willst du bestimmt nicht machen, sicherlich gibt es für dein Problem eine elegantere Lösung!

Wo sich ein Modul befindet, kannst du mit dessen "__file__"-Attribut herausfinden.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
shor
User
Beiträge: 13
Registriert: Montag 7. April 2008, 22:18

Hallo gerold!

Vielen Dank! :)

Das sollte mir weiter helfen - wobei das mit dem __file__ Attribut auch eine Idee gewesen wäre!

Grüße,
shor
Antworten