Próbowałem to:Jak odczytać wartość zmiennej środowiska Windows w python?
os.environ['MyVar']
Ale to nie działa! Czy istnieje sposób odpowiedni dla wszystkich systemów operacyjnych?
Próbowałem to:Jak odczytać wartość zmiennej środowiska Windows w python?
os.environ['MyVar']
Ale to nie działa! Czy istnieje sposób odpowiedni dla wszystkich systemów operacyjnych?
Spróbuj użyć następujących czynności:
os.getenv('MyVar')
os.getenv(varname[, value])
Return the value of the environment variable varname if it exists, or value if it doesn’t. value defaults to None.
Availability: most flavors of Unix, Windows
Więc po przetestowaniu go:
>>> import os
>>> os.environ['MyVar'] = 'Hello World!' # set the environment variable 'MyVar' to contain 'Hello World!'
>>> print os.getenv('MyVar')
Hello World!
>>> print os.getenv('not_existing_variable')
None
>>> print os.getenv('not_existing_variable', 'that variable does not exist')
that variable does not exist
>>> print os.environ['MyVar']
Hello World!
>>> print os.environ['not_existing_variable']
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.4/UserDict.py", line 17, in __getitem__
def __getitem__(self, key): return self.data[key]
KeyError: 'not_existing_variable
Twoja metoda będzie działać zbyt jeśli zmienna środowiska istnieje. Różnica w używaniu os.getenv
polega na tym, że zwraca ona None
(lub podaną wartość), podczas gdy os.environ['MyValue']
podaje wyjątek KeyError, gdy zmienna nie istnieje.
os.getenv('PATH')
Możesz przetestować go z powyższym wierszem kodu. Wyświetli listę wszystkich ścieżek, które są ustawione.
Może być konieczne ponowne uruchomienie systemu Windows, aby móc odczytać zmienną środowiskową ustawioną za pomocą panelu sterowania.
Lub po prostu ponowne uruchomienie konsoli. –
Mam ten błąd: KeyError: 'MyVar' –
Czy jesteś pewien, że zdefiniowałeś zmienną we właściwy sposób? – Alexander
Jak to zdefiniować? Dodałem go w Panelu sterowania-> System i zabezpieczenia -> System -> Zaawansowane ustawienia systemowe-> Zmienne środowiskowe –