Ordner suchen im Skript
Verfasst: Samstag 17. August 2002, 18:05
Wenn ich komplexere Programme schreibe, möchte ich automatisch den Ordner des aufgerufenen Hauptskriptes bestimmen, weil dort dann weitere Module usw. liegen. Das soll auch funktionieren, wenn das Skript irgendwo über den Suchpfad erreichbar ist und symbolische Links dazwischen hängen. Bisher mache ich das folgendermaßen, ganz am Anfang des Skriptes :
Zuerst wird eine Umgebungsvariable gesucht, wenn nicht gefunden muß der Aufrufpfad analysiert werden.
Gibt es eine elegantere oder schnellere Methode? Funktioniert das so auch auf anderen Plattformen als Linux (kann ich nicht ausprobieren).
Code: Alles auswählen
import os, sys
homeDir = os.environ.get('NCDE_HOME')
if not homeDir:
p = sys.argv[0]
if not os.path.isabs(p):
p = os.path.join(os.getcwd(), p)
while os.path.islink(p):
t = os.readlink(p)
if not os.path.isabs(t):
t = os.path.join(os.path.dirname(p), t)
p = t
homeDir = os.path.split(p)[0]
sys.path.append(homeDir)
Gibt es eine elegantere oder schnellere Methode? Funktioniert das so auch auf anderen Plattformen als Linux (kann ich nicht ausprobieren).