Наверняка вы замечали, что в 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
Il cancelliere tedesco Olaf #Scholz non ha ottenuto la fiducia al Bundestag aprendo la strada alle elezioni anticipate a febbraio. Il cancelliere ha ottenuto 207 voti a favore, 394 voti contro. In 116 si sono astenuti. Per ottenere la fiducia Scholz avrebbe dovuto ottenere almeno 366 voti.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: “Mi auguro che gli esatti contorni di queste iniziative del tuo governo potranno essere meglio chiariti, e sarò lieta di discutere di persona della questione alla prima occasione utile, a partire dal Vertice Ccp e dal Consiglio Europeo di Granada il prossimo 5 e 6 ottobre” e aggiunge “occorre concentrarsi nel costruire soluzioni strutturali al fenomeno migratorio”.
@UltimoraPolitics
Migranti, Giorgia #Meloni a Olaf #Scholz: "Ѐ ampiamente noto che la presenza in mare delle imbarcazioni delle ong ha un effetto diretto di moltiplicazione delle partenze di imbarcazioni precarie che risulta non solo in ulteriore aggravio per l'Italia, ma allo stesso tempo incrementa il rischio di nuove tragedie in mare"
@UltimoraPolitics
Migranti, Giorgia #Meloni scrive al cancelliere tedesco Olaf #Scholz: "Ho appreso con stupore che il tuo governo - in modo non coordinato con il governo italiano - avrebbe deciso di sostenere con fondi rilevanti ong impegnate nell'accoglienza ai migranti irregolari sul territorio italiano e in salvataggi nel Mare Mediterraneo. Entrambe le possibilità suscitano interrogativi"
@UltimoraPolitics
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il…
ANSA - Il cancelliere tedesco Olaf #Scholz ha esortato il presidente russo Vladimir #Putin a ritirare le truppe dall'Ucraina e a negoziare con Kiev. Lo annuncia il governo tedesco. #Scholz ha parlato con il presidente ucraino #Zelensky prima di sentire il leader russo.
@UltimoraPolitics
La polizia tedesca ha fatto irruzione nell’abitazione dello scrittore, giornalista ed ex parlamentare del partito di Unione Cristiano-Democratica (CDU) Jürgen Todenhöfer, a Monaco di Baviera, per una serie di post sui social in cui criticava il primo ministro israeliano Benjamin Netanyahu.
Secondo quanto riferito da Todenhöfer, gli agenti hanno confiscato telefoni e dispositivi digitali dopo aver monitorato la sua abitazione. “Un tribunale tedesco ha avviato un procedimento penale contro di me, emettendo un mandato di perquisizione e di sequestro di tutti i miei dispositivi, perché ho criticato duramente Netanyahu e Scholz”, ha dichiarato lo scrittore.
Nel post X al centro dell’indagine, Todenhöfer scriveva: "Signor Netanyahu, la sua coscienza non protesta mai quando fa ai palestinesi quello che i maledetti nazisti hanno fatto agli ebrei?".
#germany#netanyahu#scholz
Retour à l'histoire
Les tentatives de l’#Occident de réécrire l’histoire n'étonnent plus personne, sauf que cette fois-ci, il s’agit d’une tragédie mondiale, et d'un exploit pour toute l’humanité. Pour Olaf #Scholz, c’est aux États-Unis que l’#Allemagne doit sa liberté. Notre reporter Igor Kourachenko nous rejoint avec toutes les précisions.
RT en français • Osez questionner !
🇩🇪#Germania - Il cancelliere tedesco Olaf #Scholz ha rifiutato nettamente la proposta del ministro delle Finanze, Christian #Lindner, di indire nuove elezioni. - BILD
@UltimoraPolitics