Seite 1 von 1

über eine shell eine Umgebungsvariabel einführen

Verfasst: Mittwoch 24. Juni 2009, 08:52
von max793
Hallo

würde gene wissen wie man mit einer umgebungsvariable die man in der Shell definiert hat umgeht.

Ich definiere in shell eine Variable mit dem namen PFAD und will nun das Python diesen einlest und mit diesem weiterarbeitet und wie im anschluss einen Pfad zusammensetzt.

Set PFAD = C:\test

Code: Alles auswählen


import os

pfad = os.environ("PFAD")
def solver_file(pfad):
    writeFile = open("pfad" + "\car.txt", "w")
    writeFile.write("1")
    writeFile.close()

jedoch klappt das noch nicht so wie ich es mir wünsche und bekomm immer eine Fehlermeldung der art

File "C:\opt\test2.py", line 10, in ?
pfad = os.environ("PFAD")
AttributeError: _Environ instance has no __call__ method

was ist hier falsch?

Danke

Verfasst: Mittwoch 24. Juni 2009, 09:13
von snafu
Da es keine `__call__()`-Methode hat, kannst du es auch nicht mittels `()` aufrufen. Mach doch mal einfach ein `os.environ` ohne Klammern, so wie's auch in der Doku steht. Da steht übrigens auch (im zweiten Satz), wie man auf einzelne Umgebungsvariablen zugreift. Immer erst Doku lesen, dann fragen. ;)

Verfasst: Mittwoch 24. Juni 2009, 09:26
von Rebecca

Code: Alles auswählen

>>> os.path.expandvars(os.path.join("home", "rbreu", "$BROWSER"))
'home/rbreu/epiphany'

Re: über eine shell eine Umgebungsvariabel einführen

Verfasst: Mittwoch 24. Juni 2009, 10:59
von Defnull
max793 hat geschrieben: pfad = os.environ("PFAD")
AttributeError: _Environ instance has no __call__ method
was ist hier falsch?
Na was wohl...