os.environ
verhält sich wie ein Python-Wörterbuch, sodass alle gängigen Wörterbuchoperationen ausgeführt werden können. Zusätzlich zu den in den anderen Antworten genannten get
und set
Operationen können wir auch einfach überprüfen, ob ein Schlüssel vorhanden ist. Die Schlüssel und Werte sollten als Zeichenfolgen gespeichert werden .
Python 3
Für Python 3 verwenden Wörterbücher der in Schlüsselwort statt has_key
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
Python 2
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check for a non existing variable
False
>>> os.environ['FOO'] = '1' # Set a new env. variable (String value)
>>> os.environ.has_key('FOO')
True
>>> os.environ.get('FOO') # Retrieve the value
'1'
Bei der Verwendung ist Folgendes zu beachten os.environ
:
Obwohl untergeordnete Prozesse die Umgebung vom übergeordneten Prozess erben, war ich kürzlich auf ein Problem gestoßen und habe herausgefunden, dass beim os.environ
erneuten Aufrufen nicht die neuesten Werte angezeigt werden, wenn andere Skripts die Umgebung aktualisieren, während Ihr Python-Skript ausgeführt wird .
Auszug aus den Dokumenten :
Diese Zuordnung wird beim ersten Import des OS-Moduls erfasst, normalerweise während des Python-Starts als Teil der Verarbeitung von site.py. Nach dieser Zeit vorgenommene Änderungen an der Umgebung werden in os.environ nicht berücksichtigt, mit Ausnahme von Änderungen, die durch direktes Ändern von os.environ vorgenommen wurden.
os.environ.data
Das alle Umgebungsvariablen speichert, ist ein diktiertes Objekt, das alle Umgebungswerte enthält:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>