Наверняка вы замечали, что в 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
🌷🌼🌹Lotte начинает движение в сторону весны
Волшебный автобус, увитый цветами, припарковался около центрального универмага 🇰🇷Lotte Shopping где-то в виртуальной вселенной.
Работа digital-художницы Ноэль ван Дайк (@noellevandijk) к сезонной рекламной кампании 𝐖𝐨𝐧𝐝𝐞𝐫 𝐃𝐫𝐞𝐚𝐦𝐬 с использованием генеративного искусственного интеллекта сочетает реалистичные и виртуальные графические элементы, чтобы образно передать фантастическую красоту весны.
Источник @lotteshopping
#lotte#seasonal#реклама
Привеееет привет, дорогие!! 🤗
Ох, как долго я не выкладывала новые посты, но за это время я приготовила несколько вкусных корейских блюд, засняла их и скоро выложу для Вас рецепты))
А сегодня я хочу рассказать Вам о Lotte World Tower ☝🏼
Будучи современным символом Сеула, Lotte World Tower интересно переплетается с корейской кухней и культурой, хоть и не так очевидно, как исторические достопримечательности. Башня настолько высокая, что ее хорошо видно с разных уголков Сеула ☝🏼
Расскажу несколько интересных фактов.
Гастрономический рай: Внутри Lotte World Tower расположено множество ресторанов, представляющих как традиционную корейскую кухню, так и современные гастрономические тренды. От изысканного ханджонсик (традиционный корейский обед из множества блюд) до уличной еды, башня предлагает посетителям полное погружение в кулинарное разнообразие Кореи.
Культурные мероприятия и выставки:
В Lotte World Tower часто проводятся различные культурные мероприятия, выставки и фестивали, посвященные корейским традициям, искусству и истории.
Архитектура и дизайн с корейскими мотивами:
Хотя дизайн башни в целом современный, в нем можно найти и отсылки к корейской культуре. Например, форма башни - вдохновленная керамикой и каллиграфией.
Шопинг - часть корейской культуры:
Вы знали, что Юж. корейцы жуткие шопоголики?)) 🛒🛍️🧾
Lotte World Mall, примыкающий к башне, является одним из крупнейших торговых центров в Корее и предлагает огромный выбор товаров, включая продукцию корейских дизайнеров и брендов.
Место встречи и общения: Lotte World Tower стала популярным местом встреч и общения как для местных жителей, так и для туристов.
Хотя Lotte World Tower – это ультрасовременное здание, оно старается гармонично вписываться в культурный контекст Кореи, предлагая посетителям уникальную возможность познакомиться с разными гранями этой страны.
Если Вы ещё не были в Корее, обязательно посетите эту страну утренней свежести 🇰🇷
#Korea#seoul#lotte_world_tower#lotte#kim_chi_kim
Roam Team Joins Coinbase, Shutting Down
Roam, a blockchain search engine, will shut down its products to join Coinbase. Key executives, including CEO, CTO, and CPO, are also moving to Coinbase to boost its on-chain consumer division. Read more
📊 Notable Transactions:
- 89,114,400 #XLM (valued at $38.6M) transferred between unknown wallets. Details
📈 Bithumb adds Korean Won trading pairs for DEEP token on Sui network. Details
🎮 Lotte Group gets largest grant from Arbitrum for its metaverse gaming platform Caliverse. Amount undisclosed. Read more
🌍 BIT Mining seals $14M deal with Ethiopia for a 51-MW facility and 18,000 mining machines, capitalizing on the country's low energy costs. Read more
#Blockchain#Coinbase#XLM#Crypto#DEEP#Sui#Arbitrum#Lotte#Metaverse#BITMining#Ethiopia#Bitcoin#DEX#CLOB#Gaming#Hydropower#Finance#News#Update#VC