Наверняка вы замечали, что в 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
BAMBUK NAZARIYASI🎋
Bambukni ekib, muntazam sug'orib va parvarish qilsangiz, birinchi yil hech qanday o'zgarish sezilmaydi. 2-, 3-, va 4-yilda ham biror o'sish alomatlari ko'rinmaydi.
Ammo aslida, bu vaqt davomida bambuk yer ostida kuchli ildiz tizimini rivojlantiradi.
So'ngra, 5-yil kelib, bambuk bir necha hafta ichida 25-30 metr balandlikka o'sishi mumkin!
Bu nimani anglatadi?
⭐️ Sabr-toqat: Hayotda muvaffaqiyatga erishish uchun vaqt va tinimsiz mehnat talab etiladi. Dastlab natijalar ko'rinmasa ham, ishonchni yo'qotmang.
🔥 Mustahkam asos: Bambukning ildizlari kabi, natijaga erishish uchun ham puxta tayyorgarlik va kuchli poydevor kerak.
💥 Portlash vaqti: To'g'ri vaqt kelganda, barcha mehnatlar natijasi yorqin namoyon bo'ladi.
Xulosa: Hayotda bambuk singari sabr qiling, mustahkam asos quring va oxirida katta natijalarga erishing!
@Azamatjon_design | #eslatmalar
Bu qoida hayotda ko‘p muammolarni oldini olishga yordam beradi.
Jahl ustida javob, xursandlikda va’da , kayfiyat yomonligida esa qaror bermaslikka harakat qilaman. Chunki bu oddiy qoidaga amal qilmagan har bir lavhadan qattiq pushaymon bo'lganman!
Xulosa: Hissiyotlar ta’sirida shoshilinch qaror bermaslik kerak!
@Azamatjon_design | #eslatmalar
BAMBUK NAZARIYASI🎋
Bambukni ekib, muntazam sug'orib va parvarish qilsangiz, birinchi yil hech qanday o'zgarish sezilmaydi. 2-, 3-, va 4-yilda ham biror o'sish alomatlari ko'rinmaydi.
Ammo aslida, bu vaqt davomida bambuk yer ostida kuchli ildiz tizimini rivojlantiradi.
So'ngra, 5-yil kelib, bambuk bir necha hafta ichida 25-30 metr balandlikka o'sishi mumkin!
Bu nimani anglatadi?
⭐️ Sabr-toqat: Hayotda muvaffaqiyatga erishish uchun vaqt va tinimsiz mehnat talab etiladi. Dastlab natijalar ko'rinmasa ham, ishonchni yo'qotmang.
🔥 Mustahkam asos: Bambukning ildizlari kabi, natijaga erishish uchun ham puxta tayyorgarlik va kuchli poydevor kerak.
💥 Portlash vaqti: To'g'ri vaqt kelganda, barcha mehnatlar natijasi yorqin namoyon bo'ladi.
Xulosa: Hayotda bambuk singari sabr qiling, mustahkam asos quring va oxirida katta natijalarga erishing!
@Azamatjon_design | #eslatmalar
SHOGIRLIK INQIROZI!
Hozirgi kuzatuvlarimdan kelib chiqib, dolzarb va juda muhim masalaga e'tibor qaratmoqchiman.
Hozirda (turli sohalarda tez daromad keltiruvchi kasblar) bo‘yicha kurslarni bitirgan o‘quvchilar aksariyat hollarda to‘g‘ridan-to‘g‘ri ishga kirishga intilmoqda. Bu yaxshi yo‘l, lekin birdaniga 3-6 oy ichida mutaxassis bo‘lish haqiqatga yaqin emas.
Avvallari (sartaroshlik, ustachilik va hokazo) kasblar bo‘yicha ustalarga shogird tushilar, ularning yonida yillar davomida ishlanar edi. Qachonki usta "Fotiha" bersa, shogird mustaqil ish boshlagan. Ya'ni bu jarayon mutaxassis bo‘lish darajasiga yetguncha 3-5 yil yoki undan ham ziyod davom etgan. Hech qanday haq evazsiz va kutuvlarsiz, ustozga xizmat qilib tajriba orttirilgan.
Oxirgi paytlarda esa bu holat yo‘qolib borayotgandek go'yo. Kursni bitirgan ko‘plab "mutaxassislar" o‘zlarini sohaning Pro Ultra ustasi deb bilishadi. Lekin ular o‘z bilimlari va amaliy tajribasi yetarli emasligini anglamaydi. Va bundaylardan ko'plab ish beruvchilar ham aziyat chekmoqda.
Xulosa: 3-6 oylik kurs bilan to‘laqonli mutaxassis bo‘lish qiyin. Qaysi zamonaviy kasbni o‘rganmang, o‘zingizga shu sohada katta tajribaga ega ustoz toping va ulardan bilim oling. Ya'ni tavsiyam kerak bo'lsa tekinga ishlang! Ustoz bo'la oladigan mutaxassislar bilan ishlang va ulardan bilimlarni, duolarni oling! Ustoz bilan ishlash, rivojlanish - sizni haqiqiy professional qiladi
@Azamatjon_design#eslatmalar#problem_solution
#PROBLEM
Dunyoda adolatsizlik bor – ba’zilar ko‘p narsaga ega, boshqalar esa hech narsasiz...
#SOLUTION
Odamlar bir-biriga yordam berishi kerak – agar hamma faqat o‘zini o‘ylasa, hayot yomonlashadi. Faqat birlikda adolat bo‘lishi mumkin.
Xulosa:
Ba’zilarning ko‘p narsaga ega bo‘lishi faqat boylik bilan emas, balki salohiyat, imkoniyat, nasab, sog‘liq, yashash joyi kabi ustun jihatlar bilan farqlanadi. Hech narsasiz deganda esa, sog‘liq muammolari, nizolar, ochlik, qashshoqlik, ilmsizlik va boshqa imkonsiz holatlar tushuniladi.
Yechim:
Odamlar bir-biriga yordam berishi kerak, ya’ni bilgan bilmaganga o‘rgatishi, to‘q ochni to‘ydirishi, imkonli inson imkonisizga ko‘mak berishi lozim. Ya’ni, biz qanday vaziyatda bo‘lmaylik, bizdan pastdagilarga yordam berishimiz, o‘z ustimizda ishlashdan to‘xtamasligimiz va shukr qilishimiz kerak.
@Azamatjon_design#eslatmalar#problem_solution