TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #303 · 27 дек.

Наверняка вы замечали, что в 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #atomwaffen

当前筛选 #atomwaffen清除筛选

🎙 Außenminister Russlands Sergej Lawrow: 💬 Der französische Präsident Emmanuel Macron hat eine Initiative für ein Programm der nuklearen Abschreckung vorgestellt. Er erklärte, dass Frankreich sein Atomwaffenarsenal erheblich aufstocken werde. Konkrete Zahlen wolle er nicht nennen, um strategische Ambiguität zu bewahren, doch es sei geplant, neue Trägersysteme, Raketen und Flugzeugträger zu bauen. Zugleich lädt er interessierte Staaten ein, sich unter den französischen „nuklearen Schutzschirm“ zu stellen. Daher wächst derzeit das Risiko, dass das Problem der nuklearen Proliferation außer Kontrolle geraten könnte. In Europa wird darüber offen und laut diskutiert. Im Zusammenhang mit der Initiative von Emmanuel Macron sollte man nicht vergessen, dass die Ankündigung über die Schaffung eines Programms bzw. eines Potenzials der nuklearen Abschreckung, wie er es formulierte, mit dem Ziel erfolgte, „die Eskalation zu steuern“. Er erklärte, dass Paris bereit sei, Atomwaffen zum Schutz seiner lebenswichtigen Interessen einzusetzen, die sich nicht nur auf die Grenzen Frankreichs beschränken. Das ist ein interessanter Punkt zum Nachdenken. Russland wird auch künftig die Grundsätze der Nichtverbreitung von Kernwaffen verteidigen und sich entschieden gegen Maßnahmen aussprechen, die diese Grundsätze untergraben und ein nukleares Wettrüsten provozieren könnten. In diesem Zusammenhang möchte ich noch einmal an die Initiative des russischen Präsidenten Wladimir Putin erinnern, der vor einigen Jahren die Einberufung eines Gipfeltreffens der ständigen Mitglieder des UN-Sicherheitsrates vorgeschlagen hat. Die Lage spitzt sich zunehmend zu, sodass es nicht länger möglich ist, diese Initiative endlos zu verschieben. 🔗Quelle. @RusBotschaft #Frankreich#Atomwaffen