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 слични објави

Пребарај: #terminalconcession

当前筛选 #terminalconcession清除筛选

🚢Порт Барселоны объявил тендер на концессию универсального терминала. Порт Barcelona начал процедуру конкурса на предоставление концессии для публичного многофункционального морского терминала на причале Príncep d’Espanya. Решение принято после истечения срока предыдущей концессии в начале года. Согласно условиям, терминал должен обслуживать генеральные и смешанные грузы, исключая специализированные сегменты — пассажирские перевозки (кроме профессиональных водителей), навалочные и наливные грузы. Установлен минимальный объём неконтейнеризированного генерального груза, чтобы избежать концентрации исключительно на контейнерных операциях, уже обеспечиваемых другими терминалами порта. Инфраструктура площадью 87 425 кв. м должна включать не менее трёх современных мобильных кранов и шести комплектов вспомогательного оборудования. Дополнительные инвестиции в технику станут обязательными при превышении порогов 15 000 TEU в год или 50 000 тонн грузов типа Ro-Ro. Концессия рассчитана на 16 лет с возможностью досрочного расторжения с 10-го года в случае необходимости реорганизации портовой зоны. Для рынка это отражает стратегию диверсификации грузопотоков и усиления гибкости портовой инфраструктуры в условиях колебаний контейнерного сегмента и роста смешанных логистических операций в Средиземноморье. 📌Port de Barcelona — государственный порт Испании, основанный в современном административном формате в 1992 году, управляется Портовой администрацией Барселоны (Autoritat Portuària de Barcelona). Является одним из ключевых логистических хабов Средиземноморья. #PortBarcelona#TerminalConcession#GeneralCargo#MediterraneanPorts#MaritimeInfrastructure