Seite 1 von 1

Verzeichnis?

Verfasst: Donnerstag 20. März 2003, 15:49
von LuScHe
Hi ho

Wie kriege ich das Verzeichnis herraus in dem sich das Programm befindet, das den befehl ausfürt ??

Verfasst: Donnerstag 20. März 2003, 16:06
von Milan
mit getcwd. und mit chdir veränderst du das Verz dann, wenn du willst.

Code: Alles auswählen

import os
print os.getcwd()

Re: Verzeichnis?

Verfasst: Donnerstag 20. März 2003, 16:20
von joerg
LuScHe hat geschrieben:Hi ho

Wie kriege ich das Verzeichnis herraus in dem sich das Programm befindet, das den befehl ausfürt ??
Das ist nicht ganz trivial, da man das Programm mit relativem oder absolutem Pfad aufrufen kann, und außerdem können noch symbolische Links auftreten. Folgender Code funktioniert zumindest unter Linux bei mir gut:

Code: Alles auswählen

#/usr/bin/env python

def home_path(resolve_links=0):
    import sys, os
    p = sys.argv[0]
    if not os.path.isabs(p):
        p = os.path.normpath(os.path.join(os.getcwd(), p))
    if resolve_links:
        p = os.path.realpath(p)
    return os.path.split(p)[0]

if __name__ == '__main__':
    print "Homepath: %s (resolved: %s)" % (home_path(), home_path(1))

Viel Glück
Jörg