Наверняка вы замечали, что в 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
El tipo de cambio publicado por el BCV es el promedio ponderado resultante de las operaciones diarias de las mesas de cambio activas de las instituciones bancarias participantes.
EUR. 440,47684950
CNY. 53,27401438
TRY. 8,51257385
RUB. 4,87376281
USD. 370,25440000 (+2,75 bs.)
@DolarBCV
Fecha Valor: Lunes, 02 #Febrero 2026
El tipo de cambio publicado por el BCV es el promedio ponderado resultante de las operaciones diarias de las mesas de cambio activas de las instituciones bancarias participantes.
EUR. 60,62949438
CNY. 8,06097762
TRY. 1,62990593
RUB. 0,59295299
USD. 58,44370000
Fecha Valor: Lunes, 03 #Febrero 2025
☃️❄️ Bienvenido #febrero❄️☃️
🥳 Muchas felicidades 🎊
para todos los
♒ Acuario 🌊 y ♓ Piscis
que cumplen
años este mes
☝🏻Acá les dejamos una ✨#frase motivacional✨🤲💖
☃️❄️ Bienvenido #febrero❄️☃️
🥳 Muchas felicidades 🎊
para todos los
♒ Acuario 🌊 y ♓ Piscis
que cumplen
años este mes
☝🏻Acá les dejamos una ✨#frase motivacional✨🤲💖
Recuerden que si hacen un pedido en su cumpleaños reciben un DESCUENTO 🎂
Y con este sorteo de fidelidad 🤜🤛, solo para clientes y en agradecimiento por su apoyo estos años, damos inicio al mes de febrero.
☃️❄️ Bienvenido #febrero❄️☃️
🥳 Muchas felicidades 🎊
para todos los
♒ Acuario 🌊 y ♓ Piscis
que cumplen
años este mes
☝🏻Acá les dejamos una ✨#frase motivacional✨🤲💖
AFECTADO VACUNA GRIPE GANA JUICIO 😁😁🏆y cobra 400.000€😍❗️
💉📡🔬🧲🔥🔥🔥
🔺INDEMNIZADO CON 400.000€ por lesiones tras vacunarse de gripe
🔺El abogado Francesc Feliu explica un caso real llevado hasta el Tribunal Supremo: un hombre que, tras vacunarse de la gripe, desarrolló una discapacidad del 85% y solo obtuvo reconocimiento después de denunciar hasta en tres ocasiones .
💉📡💀📡🛜🔥🆘🆘❗️
Continúa el democidio
DENUNCIA INTOXICACIÓN MASIVA VACUNAS PARLAMENTO💉📡🔬🧲📡💀
https://x.com/la5acolumna/status/1924582374811078906 Nunca fue por tu bien te engañaron no hay beneficio riesgo
🔬💀💉👁
visita:
https://www.laquintacolumna.info/directo-nocturno-habitual/directo-nocturno-de-la-quinta-columna-programa-617/
[email protected] 👆👆
💉☠️🧲🪦📡🆘🆘🆘
@AFECTADOS_VACUNACOV
#repentinitis
#diedsuddenly
#vacunas
#gripe
#juicios
#febrero