Наверняка вы замечали, что в 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
💛 Bugun oddiy kun emas.Bu — sen o‘zingni isbotlaydigan kun.
🕊 Kimdir hali “yana 5 daqiqa” deydi…Sen esa “hozir boshlayman” deganlardan bo‘l.
📌 Esingda bo‘lsin:Hayot — kutganlarga emas,harakat qilganlarga jilmayadi.
🌅 Bugun boshqacha yashab ko‘r.Balki aynan shu kun — hammasini o‘zgartirar.
#motivation
🛫@Milliarderlarim
💱#motivation
🫴 "Har bir katta o‘zgarish — kichik bir qadamdan boshlanadi. Harakatdan to‘xtama, orzularing yo‘lida yurishda davom et!"
Do'stlarga ham ulashing
🛫@Milliarderlarim
🔝#motivation
👍 "Kichik qadamlar katta o'zgarishlarga olib keladi."
Agar hozir boshlamasangiz, bir yildan keyin ham shu joyda bo‘lishingiz mumkin. Ammo bugun kichik bir qadam tashlasangiz, bir yil ichida o‘zgarishingiz mumkin.
Shunchaki boshlang. Hozir. Bugun.
Shubha qilsangiz ham, davom eting.
Hech kim sizga ishonmasa ham, o‘zingizga ishoning.
🫶Hayrlı kun yaxshilar!! Barcha maqsadlaringiz gozal tarzda amalga oshsin! 💕
Do'stlarga ham ulashing!
🏆@Milliarderlarim
💱#motivation
🫴 "Har bir katta o‘zgarish — kichik bir qadamdan boshlanadi. Harakatdan to‘xtama, orzularing yo‘lida yurishda davom et!"
Do'stlarga ham ulashing
🛫@Milliarderlarim
🔜#motivation
Harakat – bu orzularni haqiqatga aylantiradigan kuchdir. Boshlamasang – o‘zgarmaydi. Qadam tashla, natija keladi! 💞
Do'stlarga ham ulashing!
🔵@Milliarderlarim
👍#motivation
✔️ Muvaffaqiyat osmondan tushmaydi, u harakat, sabr va ishonch bilan yaratiladi.
✔️ Harakat qilgan odamda har doim umid bor. Harakat to‘xtasa – orzular so‘nadi.
✔️Bugun qilgan mehnating – ertangi muvaffaqiyatingning poydevori.
✔️ Qiyinchiliklar – bu sinov emas, o‘sishga imkoniyatdir.
Hayrlı kun @Milliarderlarim
Bugün sevgi va yutuqlarga boy kun! ❤️
Do'stlarga ham ulashing!
🫴@Milliarderlarim
👀#motivation
O‘zgarish qo‘rqinchli, lekin bir joyda qolish undan ham qo‘rqinchli.
O‘zing uchun harakat qil, ertangi “sen” senga rahmat aytsin!
Do'stlarga ham ulashing
🏆@Biglibrary_uz
#motivation
▶️ O‘z hayotingizning rejissyori bo‘ling!
Hayot – bu sahna, siz esa uning bosh qahramoni va rejissyorisiz. Qanday ssenariy yozsangiz, shunday yashaysiz.
🎬 Orzularingiz – bu filmning eng muhim syujeti. Ularni unutmang!
🎬 Harakatlaringiz – natijani belgilovchi rejissyorlik qarorlaringiz.
Agar boshqalar hayotingizni boshqarishini istamasangiz, kamerani o‘z qo‘lingizga oling! Bugun o‘z orzularingiz sari bir qadam tashlang.
📹
✨
Do'stlarga ham ulashing
👍@Milliarderlarim
#motivation
🙂 Hayrli kun @Milliarderlarim
Keling bugungi kunni 400 ta tabassum kuni deb nomlaymiz! Qani Kim uddalaydi bugün 400 ta tabassumni
🛒 Eng yaxshi tayyorgarlik - bu Ishga kirishish Va boshlash!!
🧾 Orqaga surib yurgan rejalaringizni Bugün Boshlang! HOZİROQ boshlang
❤️
Yurakchani ham bosib qo'ying
🛫@Milliarderlarim
#motivation🩷🩷🩷🩷
Foyda keltirmaydigan ishlarni to'xtating!
Kelajak hozirdan boshlanadi! Hozirdan energiyangizni foydali ishlarga sarflang!
🩷 Reaksiyalarni bosib qo'ying
@Milliarderlarim
🔗#Motivation
🩷 Sen hayotga nimadir bera olsang, Hayot ham senga albatta javob qaytaradi!
Qarang Juda chiroyli jumlalar-a. Meni o'ylantirib qo'ydi. Siznichi? Siz nima angladingiz, kommentlarda yozingchi✍️
@Milliarderlarim