Наверняка вы замечали, что в 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
🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi!
Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud.
🐕Reklama formatlari:
✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar)
✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar)
✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar)
🤝 Ijtimoiy loyihani qo'llab-quvvatlang!
Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin.
📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling!
🔺🔺🔺
🎮Qlever открывает возможности для рекламы и социальной ответственности!
Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности.
🐕 Форматы рекламы:
✅ Размещение рекламных материалов на платформе (новости, PR-статьи)
✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты)
✅ Интеграции в социальные сети (посты, рилсы)
🤝Поддержите социальный образовательный проект!
Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе.
📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]!
#Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat
🎮Qlever reklama va ijtimoiy mas'uliyat uchun imkoniyatlar ochadi!
Qlever.Asia - bu Markaziy Osiyoda 200 000 dan ortiq foydalanuvchilar va O'zbekistonda 40 000 dan ortiq ro'yxatdan o'tgan o'yinchilar auditoriyasiga ega innovatsion ta'limiy platforma. Endilikda brendlarda nafaqat reklama joylashtirish, balki tanqidiy tafakkur va mediasavodxonlikni qo'llash orqali ijtimoiy mas'uliyatni namoyon qilish imkoniyati mavjud.
🐕Reklama formatlari:
✅Platformada reklama materiallarini joylash (yangiliklar, PR-maqolalar)
✅Sovg'alarga homiylik qilish (brend mahaulotlar, vaucherlar, gadjetlar)
✅Ijtimoiy tarmoqlarga integratsiya (postlar, reelslar)
🤝 Ijtimoiy loyihani qo'llab-quvvatlang!
Qlever bilan hamkorlik — bu nafaqat marketing foydasi, balki biznesingizning ijtimoiy yo'nalganligini ta'kidlash imkoniyati. Siz mintaqada ta'lim va tanqidiy tafakkurga hissa qo'shib, loyiha rivojini qo'llashingiz mumkin.
📥 Hamkorlik va qo'llab-quvvatlash masalalari bo'yicha TG (@DaryaNicolayevna) yoki [email protected] pochta orqali murojaat qiling!
🔺🔺🔺
🎮Qlever открывает возможности для рекламы и социальной ответственности!
Qlever.Asia — это инновационная образовательная платформа с аудиторией более 200 000 пользователей в Центральной Азии и около 40 000 зарегистрированных игроков в Узбекистане. Теперь у брендов есть возможность не только разместить рекламу, но и продемонстрировать социальную ответственность, поддержав развитие критического мышления и медиаграмотности.
🐕 Форматы рекламы:
✅ Размещение рекламных материалов на платформе (новости, PR-статьи)
✅ Спонсирование призов (брендированные товары, ваучеры, гаджеты)
✅ Интеграции в социальные сети (посты, рилсы)
🤝Поддержите социальный образовательный проект!
Партнерство с Qlever — это не только маркетинговая выгода, но и возможность подчеркнуть социальную ориентированность вашего бизнеса. Вы также можете сделать пожертвование на развитие проекта, внеся вклад в образование и критическое мышление в регионе.
📥 По вопросам сотрудничества и поддержки пишите в TG (@DaryaNicolayevna) или на почту [email protected]!
#Qlever#Реклама#Партнерство#СоциальнаяОтветственность#Qlever#Reklama#Hamkorlik#IjtimoiyMasuliyat