Verzeichniswechsel

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Wolfgang
User
Beiträge: 5
Registriert: Freitag 4. Mai 2007, 13:15

Hi,
ich habe ein Python-Script, das übers Netzwerk von einem entfernten Rechner gestartet wird. Ich möchte jetzt zu dem Scriptverzeichnis als working directory wechseln. Gibt es da eine Möglichkeit ?
Wolfgang
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Wolfgang hat geschrieben:Ich möchte jetzt zu dem Scriptverzeichnis als working directory wechseln.
Hallo Wolfgang!

Vielleicht meist du das hier:

Code: Alles auswählen

import os
app_dir = os.path.dirname(os.path.abspath(__file__))
os.chdir(app_dir)
Siehe auch: http://www.python-forum.de/post-64471.html#64471

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wolfgang
User
Beiträge: 5
Registriert: Freitag 4. Mai 2007, 13:15

Hi, Gerold,
das nicht, aber Dein Link half weiter:
app_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
os.chdir(app_dir)
tat das gewünschte
Danke
Wolfgang
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Code: Alles auswählen

app_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
os.chdir(app_dir)
Damit muss man aufpassen.
Auf win-systemen kann ich dazu nichts sagen, aber auf *nixen kann das wegen symlinks probleme bereiten.

man stelle sich vor, dein eigentliches skript liegt unter

/usr/share/wolfgangstollesprog/main.py

und du hast einen symlink dahin der hier liegt

/usr/bin/wtp

dann ist bei einem aufruf argv[0] == '/usr/bin/wtp' und eben nicht man. insofern dürfte die Lösung mit "__file__" näher an dem dran sein, was du möchtest, vermute ich.

[/code]
Wolfgang
User
Beiträge: 5
Registriert: Freitag 4. Mai 2007, 13:15

Hi,
es geht nur um Windows, aber:
leider hab ich mich zu früh gefreut,
ich erhalte den Netzwerkpfad, hätte aber den mit Laufwerkskennung gebraucht. Schade
Wolfgang
Antworten