Наверняка вы замечали, что в 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
StandChillow
🆕Обновление
Неплохой приватныйсервер #Standoff2 , в котором террористы и спецназ сойдутся в битве не на жизнь, а насмерть.
⚙️Доступны все скины и специальные режимы. Кэш встроен в установщик.
#Шутеры@pm_plus
#Standoff2@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Кулинарная дуэль Медведей из Standoff 2 и R6SX
👨🍳
📁 Лайфхаки для самой сочной котлетки;
😈 Кто тут реальный огузок?
😋 А с киви-то неплохо вышло.
Смотри новый ролик на наших каналах и голосуй за следующее блюдо, которое должны приготовить наши парни!
🎬YouTube | 🖥VK
#Standoff2#R6SX#GOGOVP
ТЕПЕРЬ ОФИЦИАЛЬНО
Вернемся в том же составе в 2026 году:
⏺️Артём «GentlemaN» Беляев;
⏺️Никита «Lunax» Макаров;
⏺️Самир «reason» Курбанов;
⏺️Грачья «Rendyy» Акопян;
⏺️Леван «PorcelaiN» Гаспаров;
⏺️Вячеслав «Kuba» Хачикян (тренер).
Год будет за нами ⭐️⭐️⭐️⭐️
#Standoff2#GOGOVP
📼📼🎄НОВОГОДНИЙ КУЛИНАРНЫЙ ВЫПУСК ❄️
😱Counter-Strike 2 против Standoff 2 на кухне — что лучше?!
🥰 Готовка ваших любимых новогодних блюд
🎄 Общее поздравление с Новым годом!
Скорее смотри полный новогодний ролик на наших каналах и узнай, кто победил в противостоянии CS2 и Стэндоффа👇
🎬YouTube | 🖥VK
#Standoff2#CS2#GOGOVP
Case Simulator for Standoff 2
🆕Обновление
Кейс Симулятор предложит вам абсолютно все кейсы и наборы, присутствующие в оригинальной игре. Вас ждет качественная графика и десятками уникальных скинов.
⚙️Мод: деньги увеличиваются, когда вы их тратите. Кэш встроен в установщик.
#Standoff2@pm_plus
#CaseSimulator@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Case Simulator for Standoff 2
🆕Обновление
Кейс Симулятор предложит вам абсолютно все кейсы и наборы, присутствующие в оригинальной игре. Вас ждет качественная графика и десятками уникальных скинов.
⚙️Мод: деньги увеличиваются, когда вы их тратите. Кэш встроен в установщик.
#Standoff2@pm_plus
#CaseSimulator@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
STANDLEO 3.4
(Standoff 2 Private srv)
🆕Обновление
Отличныйприватный сервер Standoff 2 с крутыми режимами и бесплатными скинами.
⚙️Особенности: весь контент из Standoff 2, режим Bhope, режим Surf, 6 карт для каждого режима, все ножи, кастомные скины, медали и много другое. Кэш встроен в установщик. #Шутеры
#Шутеры@pm_plus
#Standoff2@pm_plus
#STANDLEO@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
StandKnife 3.1 F1
(Standoff 2 privat srv)
🆕Обновление
Отличный приватный сервер Standoff 2 с крутыми скинами и разнообразными режимами с уклоном на ножи.
⚙️Легкая и эффективная модификация, не требующая высокой производительности от устройства, без потери качества графики. Кэш встроен в установщик.
#Шутеры@pm_plus
#Standoff2@pm_plus
#Standoff
📱Play Market +
⚡️ НАШ ЧАТ