Ortam değişkeninin varlığına bağlı olarak ne yapmak istediğinize bağlı olarak ya çözüm için bir durum var.
onun değerini önemsemeden, tamamen ortam değişkeninin varlığına dayalı farklı eylemler almak isteyen Durum 1, ilk çözüm en iyi uygulamadır. Ne için test ettiğinizi kısaca açıklar: ortam değişkenleri listesinde 'FOO'dur.
if 'KITTEN_ALLERGY' in os.environ:
buy_puppy()
else:
buy_kitten()
Vaka değeri ikinci çözüm aslında yararlıdır ortam değişkenleri tanımlı değilse değil şeklinde sen yazdın olsa, varsayılan değer ayarlamak istediğiniz 2
:
server = os.getenv('MY_CAT_STREAMS', 'youtube.com')
ya da belki
server = os.environ.get('MY_CAT_STREAMS', 'youtube.com')
Not yüzden mi Appl için çeşitli seçenekler varsa ication anahtarlara dayanarak birden fazla dicts birleştirmek için izin veren ChainMap
içine bakmak isteyebilirsiniz. Öncelikle görüş dayanmaktadır
[...]
combined = ChainMap(command_line_args, os.environ, defaults)
:
ChainMap
belgelerinde bunun bir örneğidir vardır. Her ikisi de aynı amaca hizmet ediyor. Yöntem 1'i temizleyeceği için temizleyeceğim –İçinde bir şey olduğunu söyleyemem. İşe yaramıyorsa bir tane seç (bozuk para mı?) Ve daha sonra yeniden değerlendir. Açıkçası bence bu soruyu yazarak daha fazla zaman harcadığınızı düşünüyorum. – jonrsharpe
Görüş temel alınmıştır. İlkini kullanırdım, ama sana bağlı. –