Наверняка вы замечали, что в 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
„G-Klasse“ — Komödie in russischer Sprache mit englischen Untertiteln🎞️
Dies ist Geschichte eines einfachen Fernfahrers🚐 namens Sanja, der davon träumt, genug Geld💸 für ein ruhiges Leben und die Zukunft seines Kindes zu verdienen. Er nimmt den Auftrag an, einen teuren Geländewagen zu überführen, ohne zu ahnen, dass das Auto in kriminelle Machenschaften verwickelt ist. Aus einem harmlosen Nebenjob wird eine Reiheabsurder Abenteuer, Polizeiverfolgungen👮🏻♂️ und moralischer Prüfungen, in denen Sanja zwischen Geld, Ehrlichkeit und Familie wählen muss.
📺Der Film verbindet Ironie und Drama und verwandelt eine Reise quer durch Russland in eine Metapher für die Suche nach sich selbst und nach den wahren Werten.
🍿Am 2. Dezember um 19:00 Uhr im Filmtheater im Russischen Haus
📲Anmeldung ist erforderlich.
#kino#komödie#untertiteln#abenteuer
Wenn die Abende länger und die Nächte kälter werden, ist es Zeit, innezuhalten und zu träumen. In der magischen Vorweihnachtszeit laden wir euch ein, dem Alltag zu entfliehen und warm eingekuschelt in den Sesseln unseres gemütlichen Filmtheaters!🥰🍿
📽️ Schon als Kind träumte Warja von der Bühne und Tanzen💃🏻 war ihr ganzes Leben. Als ihr Partner Nick wird, ein begabter Tänzer und Blogger🤳🏻, wächst ihre Freundschaft zu einem gemeinsamen Ziel. Kurz vor dem Finale des Wettbewerbs wird ein Geheimnis enthüllt: Warja ist taub, und plötzlich steht ihre Traumkarriere infrage. Ihr Weg ist mehr als Choreografie, es ist ein Kampf gegen Vorurteile, ein Zeichen für Freundschaft und Selbstvertrauen.
📺Die Familienkomödie „Rhythmen der Träume“ wird am 23. Dezember um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt.
🖇️Anmeldung
#kino#familienfilm#komödie#filmeabend#untertiteln
Wenn die Abende länger und die Nächte kälter werden, ist es Zeit, innezuhalten und zu träumen. In der magischen Vorweihnachtszeit laden wir euch ein, dem Alltag zu entfliehen und warm eingekuschelt in den Sesseln unseres gemütlichen Filmtheaters!🥰🍿
📽️ Schon als Kind träumte Warja von der Bühne und Tanzen💃🏻 war ihr ganzes Leben. Als ihr Partner Nick wird, ein begabter Tänzer und Blogger🤳🏻, wächst ihre Freundschaft zu einem gemeinsamen Ziel. Kurz vor dem Finale des Wettbewerbs wird ein Geheimnis enthüllt: Warja ist taub, und plötzlich steht ihre Traumkarriere infrage. Ihr Weg ist mehr als Choreografie, es ist ein Kampf gegen Vorurteile, ein Zeichen für Freundschaft und Selbstvertrauen.
📺Die Familienkomödie „Rhythmen der Träume“ wird am 23. Dezember um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt.
🖇️Anmeldung
#kino#familienfilm#komödie#filmeabend#untertiteln
Die Familienkomödie „Der Familienvater“ wird am 16. Februar um 19:00 Uhr in russischer Sprache mit englischen Untertiteln gezeigt.🍿
🎬 Die Hauptfigur Georgij ist ein erfolgreicher und wohlhabender Millionär und Unternehmer, der an ein luxuriöses Leben als Junggeselle gewöhnt ist. An seinem Geburtstag verbringt er den Tag ganz allein, trinkt ein wenig und befiehlt aus Spaß seinem Assistenten, bis zum Morgen eine „richtige“ Familie für ihn zu organisieren. Doch am nächsten Morgen geht sein Wunsch auf seltsame Weise in Erfüllung: Er wacht mit seiner Ehefrau und zwei Kindern auf, die fest davon überzeugt sind, dass sie schon immer bei ihm gewesen sind. Sogar sein Umfeld und sämtliche Dokumente bestätigen Georgys neuen Familienstand. Nun muss der Millionär das Leben in einer Familie erleben, ein liebevoller Ehemann und Vater werden und lernen, was man sich für kein Geld der Welt kaufen kann.
📲Anmeldung
#kino#film#familienkomödie#filmtheater#untertiteln
„Renn!“ – neue russischeKomödie mit englischen Untertiteln📽️
📺 Ein Einbrecher namens Sascha wird zufällig Zeuge des Mordes an der Ehefrau des Hauseigentümers Czernow und gerät in tödliche Verfolgung, gleichzeitig muss er es rechtzeitig zum Kindergartenauftritt seines Sohnes schaffen, denn davon hängt die Zukunft seiner Ehe ab.
🗓️ Am 4. Dezember um 19:00 Uhr
Kommt vorbei!❤️
📲Anmeldung
#kino#filmtheater#komödie#filmabend#berlinkino#untertiteln