Z dokumentacji:
Jeśli platforma obsługuje tę
unsetenv()
funkcję, możesz usunąć elementy w tym mapowaniu na nieskonfigurowane zmienne środowiskowe.unsetenv()
zostanie wywołana automatycznie po usunięciu elementu z os.environ i wywołaniu jednej z metodpop()
lubclear()
.
Jednak chcę czegoś, co zadziała niezależnie od dostępności unsetenv()
. Jak usunąć elementy z mapowania, jeśli nie jest dostępne? os.environ['MYVAR'] = None
?
python
environment-variables
fredley
źródło
źródło
unsetenv
działa na „większości wersji Unix, Windows” zgodnie z dokumentacją.$ unset MYVAR
działają poleceniaOdpowiedzi:
Właśnie
del os.environ['MYVAR']
powinno działać.
źródło
del os.environ
pracował, kiedyos.unsetenv
nie na OSX.del
: docs.python.org/2/tutorial/ ...MYVAR
nie istnieje w środowisku, otrzymasz wyjątek. Możesz go owinąć,try:
ale to niefortunne.Nadal możesz usuwać elementy z mapowania , ale tak naprawdę nie usunie to zmiennej ze środowiska, jeśli
unsetenv()
nie jest dostępna.del os.environ['MYVAR']
źródło