Наверняка вы замечали, что в 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
🔊Международные стандарты финансовой отчетности (МСФО) : квалификация ACCA ДипИФР (на русском языке)
📂Для кого предназначены курсы?
🔹 Профессионалов в области международных финансов, аудита и учета.
🔹 Молодых специалистов, только начинающих свой карьерный путь.
🔹 Слушателей, планирующих построить карьеру в области международных финансов, аудита и учета.
📖О программе
Эта программа позволит расширить ваши знания в области МСФО, понимать и применять основные принципы МСФО.
Узнайте основные концепции и принципы МСФО и получите международный сертификат ACCA.
💠 Подробнее
📞+998 71 239 03 10
#GraduateSchool#ACCA#DipIFR#Global
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
🔊Sizlarni, “Moliyaviy hisobotning xalqaro standartlari (MHXS): ACCA DipIFR kvalifikatsiyasi” qisqa muddatli kurslariga taklif qilamiz.
👨💻 Dastur haqida
Ushbu dastur MHXS sohasidagi bilimlaringizni kengaytiradi, MHXSning asosiy tamoyillari haqida bilimlar o‘rgatiladi va qo‘llaniladi.
MHXSning asosiy tushunchalari va tamoyillarini bilib oling va xalqaro ACCA sertifikatini qo‘lga kiriting!
🇺🇿Batafsil
📂Приглашаемвас на краткосрочные курсы «Международные стандарты финансовой отчетности (МСФО): квалификация АССА ДипИФР»
📖 О программе
Эта программа позволит расширить ваши знания в области МСФО, понимать и применять основные принципы МСФО.
Узнайте основные концепции и принципы МСФО и получите международный сертификат ACCA.
🇷🇺Подробнее
📞+998 71 239-03-10
#GraduateSchool#ACCA#DipIFR#Global
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
🔈Sizlarni, “Moliyaviy hisobotning xalqaro standartlari (MHXS): ACCA DipIFR kvalifikatsiyasi” qisqa muddatli kurslariga taklif qilamiz.
👨💻 Dastur haqida
Ushbu dastur MHXS sohasidagi bilimlaringizni kengaytiradi, MHXSning asosiy tamoyillari haqida bilimlar o‘rgatiladi va qo‘llaniladi.
MHXSning asosiy tushunchalari va tamoyillarini bilib oling va xalqaro ACCA sertifikatini qo‘lga kiriting!
🇺🇿Batafsil
📂 Приглашаем вас на краткосрочные курсы «Международные стандарты финансовой отчетности (МСФО): квалификация АССА ДипИФР»
📖 О программе
Эта программа позволит расширить ваши знания в области МСФО, понимать и применять основные принципы МСФО.
Узнайте основные концепции и принципы МСФО и получите международный сертификат ACCA.
🇷🇺Подробнее
📞 +998 71 239-03-10
#GraduateSchool#ACCA#DipIFR#Global
🌐Web-site |
✅Telegram |
✅Facebook |
🌐Instagram
4️⃣4️⃣4️⃣4️⃣
📣Международные стандарты финансовой отчетности (МСФО) : квалификация ACCA ДипИФР (на русском языке)
📂Для кого предназначены курсы?
🔹 Профессионалов в области международных финансов, аудита и учета.
🔹 Молодых специалистов, только начинающих свой карьерный путь.
🔹 Слушателей, планирующих построить карьеру в области международных финансов, аудита и учета.
📖О программе
Эта программа позволит расширить ваши знания в области МСФО, понимать и применять основные принципы МСФО.
Узнайте основные концепции и принципы МСФО и получите международный сертификат ACCA.
——
4️⃣4️⃣4️⃣
📣Moliyaviy hisobotning xalqaro standartlari (IFRS): ACCA DipIFR malakasi (rus tilida)
📂 Kurslar kimlar uchun?
🔹 Xalqaro moliya, audit va buxgalteriya bo'yicha mutaxassislar.
🔹 O'z faoliyatini endi boshlayotgan yosh mutaxassislar.
🔹 Xalqaro moliya va audit sohasida, shuningdek, buxgalteriya hisobida kasbiy o‘sishni rejalashtirganlar.
📖 Dastur haqida
Ushbu dastur IFRS bo'yicha bilimlaringizni kengaytirish hamda uning asosiy tamoyillarini tushunish va qo'llash imkonini beradi.
IFRSning asosiy tushunchalari va tamoyillarini bilib oling va xalqaro ACCA sertifikatini ega bo‘ling.
📞+998 71 239 0310
#GSBE#GraduateSchool#ACCA#DipIFR#Global
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
📣Международные стандарты финансовой отчетности (МСФО) : квалификация ACCA ДипИФР (на русском языке)
📂Для кого предназначены курсы?
🔹 Профессионалов в области международных финансов, аудита и учета.
🔹 Молодых специалистов, только начинающих свой карьерный путь.
🔹 Слушателей, планирующих построить карьеру в области международных финансов, аудита и учета.
📖О программе
Эта программа позволит расширить ваши знания в области МСФО, понимать и применять основные принципы МСФО.
Узнайте основные концепции и принципы МСФО и получите международный сертификат ACCA.
📞+998 71 239 0310; 71 239 0309
#GSBE#GraduateSchool#ACCA#DipIFR#Global
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube