Наверняка вы замечали, что в 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
Привет! Данияр на связи.
Поделюсь планами на следующие 3 года. Планы есть планы, это не обещания, они могут меняться, но на сегодня я вижу раскрытие вселенной в таком порядке. В скобках месяц завершения книги, ориентировочный, разумеется. Все это, конечно, довольно оптимистично для меня, но я постараюсь писать чаще и больше, чтобы уложиться в сроки, но не потерять в качестве.
• Крафтер-2 (ноябрь 2023)
• Сидус-3 (декабрь 2023)
• Дисгардиум-12.2 (декабрь 2023)
• Дисгардиум-12.3 (март 2024)
• Нокаут-3 (в соавторстве с Максом Лагно, 2024)
• Сидус-4 (апрель 2024)
• Крафтер-3 (май 2024)
• 99 мир — 3 (июль 2024)
• Кирпичи 3.0 (август 2024)
• Мета-2 (октябрь 2024)
• 99 мир — 4 (декабрь 2024)
• 99 мир — 5 (февраль 2025)
• Жатва душ — 2 (апрель 2025)
• Жатва душ — 3 (июль 2025)
• Мета-3 (сентябрь 2025)
• Селекция-1
• Селекция-2
• Селекция-3
• Второй мир — 1
• Второй мир — 2
• Второй мир — 3
«Нокаут-3» больше зависит от Макса, ему интересно, но у него свои серии. Как оба найдем время, расскажем историю от «Кирки» до «Сноусторма» + расскажем о Третьей мировой.
«Селекция» пока без точных сроков, зависит от того, как пойдут другие серии и вашего интереса. «Второй мир» — продолжение истории Луки Децисиму в новом мире. Название рабочее, потому что может так случиться, что это будет совершенно отдельная серия.
Так же я сейчас могу недооценивать свою графоманию и ошибиться в количестве томов серий.
#планы#levelup
Создай карту своих достижений
Для того, чтобы повысить свою мотивацию, особенно в сложные периоды жизни, хорошо заиметь карту достижений.
Делается она так:
📎Возьми лист бумаги, ручки, карандаши, маркеры. Хорошо, если ты знаешь, что такое mind map, можно воспользоваться таким сервисом.
📎Прочерти длинную линию и разбей ее на временные периоды (по 10 лет, по 5 или даже меньше).
📎После этого вспомни все свои достижения на каждом этапе жизни и нанеси их на бумагу.
📎К каждому пункту добавь слова или картинки, которые связаны именно с этим событием. Используй цветные маркеры!
📎Держи карту на видном месте. И в тот момент, когда все будет валиться из рук, или покажется, что все идет не так, она будет напоминать тебе, сколько всего ты уже смог достичь!
#levelup#improvingyourself
@selfdeprules
🔥 BU O‘YIN EMAS — BU PORTLASH.
2 kunlik adrenalin.
Cheksiz gaming.
Haqiqiy battle.
⚡ Bu yerda tomoshabin va faqat o‘yinchilar bor.
⚡ Bu yerda tasodif yo‘q — faqat mahorat gapiradi.
⚡ Bu yerda oddiylik yo‘q — faqat shov-shuv.
🚀 Sahna tayyor. Maydon qiziyapti.
SEN QACHON CHIQASAN?
—————————
🔥 THIS ISN’T A GAME — IT’S AN EXPLOSION.
2 days of adrenaline.
Unlimited gaming.
Real battles.
⚡ No spectators — only true players.
⚡ No luck — only skill speaks.
⚡ Nothing ordinary — only pure hype.
🚀 The stage is set. The arena is heating up.
WHEN DO YOU STEP IN?
#GameFest2026#LevelUp#BattleMode
🎮 Attention Gamers! 📸 Big 200 Go!Bots giveaway!! Capture Epic Moments and Win Big! 🏆
📢 Get ready for the ultimate gaming challenge! Introducing the 🌟 EA Games Screenshot Challenge 🌟 brought to you by Health Hero. 🎉 Show off your gaming skills, share your most jaw-dropping EA Games screenshots, and earn 💪 Health Hero rewards!
Starts: Tuesday, June 20, 2023
Ends: Tuesday, June 23, 2023
📸How to participate? Visit https://zealy.io/c/healthhero-7008/questboard to get your quests started!
📢 Don't wait! Grab your gaming gear, start snapping those jaw-dropping screenshots, and let the gaming magic begin! 🚀✨
📢 Disclaimer: This challenge is purely for gaming enthusiasts and is not endorsed or affiliated with EA Games. It's all about celebrating our shared love for gaming and having a blast together!
🎮📸#GamingHeroes#EAGameScreenshotChallenge#HealthHero#CaptureTheMoment#LevelUp#GameOn
@Axenia_Bot
Qué puede hacer este bot?
Este bot puede contar los puntos de karma en grupos. Escriba '+' para subir o '-' para reducir puntos al usuario que responde.
Idioma: Inglés, Ruso, Ucraniano, Uzbeco, Turco
(visto en @BotsGram_cu)
#karma, #ranking, #points, #toplist, #stats, #statistic, #inline, #levelup, #group, #top, #analytic, #statistics, #statistics, #member, #member, #groups, #activity