Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
Wir sind so unterschiedlich, so individuell. Jeder ist einzigartig und nicht jeder ist mit jedem kompatibel. Manchmal muss man die, die anders schwingen, einfach dort lassen wo sie sind. In ihrem Leben. Nicht in unserem.
🦉@aliensbestfriend
#dubisteinzigartig
#grenzensetzen
Manipulation ist überall.
Dass "Qualitätsmedien", Politiker, Schulen, Unis u.s.w. manipulieren und Propaganda und Gehirnwäsche betreiben, dürften die meisten mittlerweile erkannt haben.
Aber was ist mit den Menschen in unserem privaten Umfeld? Menschen, denen wir vertrauen? Freunde, Familienmitglieder oder auch alternative Kanäle.
Erkennen wir da die Manipulation?
Oder die Tatsache, dass wir selber manipulieren?
Wir sollten anderen Menschen zugestehen, dass sie ihren eigenen Weg gehen und uns selber gegen Manipulation abgrenzen.
Denn wir sind schon groß und können das alleine.
Selbstermächtigung rocks.
Alles Liebe 💜
Nathalie | Alien’s Best Friend
#SelbstErmächtigung#Manipulation#SelbstWert#grenzensetzen
Oft sind Menschen (oder Institutionen) übergriffig.
Ungefragt Ratschläge erteilen, ins Wort fallen, anderen vorschreiben, was sie zu tun haben oder sie für das eigene Leben verantwortlich machen, Unterstellungen, anderen die eigenen Glaubenssätze aufzwingen wollen oder bedrängen und und und …
All das ist übergriffig.
Es wird ohne Erlaubnis der persönliche Raum eines anderen betreten. Das ist ein No Go.
Wenn uns Übergriffigkeit widerfährt, sollten wir würdevoll Grenzen setzen.
Unsere ganz persönlichen Grenzen, die niemand zu überschreiten hat. Tut es jemand doch - hilft nur Distanz.
Das hat etwas mit Selbstwert zu tun.
Wenn wir alle weniger übergriffig sind und anderen ihre Würde und Selbstbestimmheit zugestehen, können wir ein viel friedvolleres Miteinander erschaffen. Und innere Ruhe.
Alles Liebe 💜
Nathalie | Alien’s Best Friend
@aliensbestfriend
#Übergriffig
#Respekt
#GrenzenSetzen
#FreierWille
#BleibWachsam
Oft sind Menschen (oder Institutionen) übergriffig.
Ungefragt Ratschläge erteilen, ins Wort fallen, anderen vorschreiben, was sie zu tun haben oder sie für das eigene Leben verantwortlich machen, Unterstellungen, anderen die eigenen Glaubenssätze aufzwingen wollen oder bedrängen und und und …
All das ist übergriffig.
Es wird ohne Erlaubnis der persönliche Raum eines anderen betreten. Das ist ein No Go.
Wenn uns Übergriffigkeit widerfährt, sollten wir würdevoll Grenzen setzen.
Unsere ganz persönlichen Grenzen, die niemand zu überschreiten hat. Tut es jemand doch - hilft nur Distanz.
Das hat etwas mit Selbstwert zu tun.
Wenn wir alle weniger übergriffig sind und anderen ihre Würde und Selbstbestimmheit zugestehen, können wir ein viel friedvolleres Miteinander erschaffen. Und innere Ruhe.
Alles Liebe 💜
Nathalie | Alien’s Best Friend
@aliensbestfriend
#Übergriffig
#Respekt
#GrenzenSetzen
#FreierWille
#BleibWachsam