Наверняка вы замечали, что в 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
#OGKB
Совсем упустил из виду, что отсечка сегодня в акциях огк-2
Учитывая дивидендный гэп, то как раз на низ канала актив должен опустится и тогда оттуда я его откуплю по 0.3455.
Цель в таком случае - закрытие гэпа, а это порядка 15%✅
Не иир
#ogkb
Всем доброго дня!🤝🤝🤝
Как обычно, сразу к идеи.
🔼Цена акции отбивается от середины широкого восходящего канала, образуя формацию бычье поглощение.
⚠️Поэтому часть позиции краткосрок я открываю от текущих 0.4215, а часть при ретесте середины канала 0.416.
✔️Цель - 0.435 (отработка шипов)
❌Стоп лосс - 0.412 (под минимум прошлой сессии)
Не иир
⛽️#ogkb
Всем доброго дня!!🤝🤝
Сразу к делу!
Цена акции на прошлой сессии уже протестировала середину канала и пока имеем отскок вверх.
При очередном касание середины канала буду брать в лонг по 0.4141
Цель - 0.43 (отработка шипов)
Стоп - 0.406 (под лой 21 октября).
Не иир
⛽️#Ogkb (ОГК-2)
Всем доброго дня!!!🤝🤝🤝
Решил на него обратить внимание, так как с 15 сентября видим в некоторых днях всплески объема на ростовых свечах, и чёткий отбой от трендовой восходящей красной линии.
☝️Выставлю безлимитную заявку от данной линии по 0.3961, внутри дня могут снова протестировать и отскочить.
✅Цель - 0.4331 (красный нисходящий уровень)
❌Отмена сценария роста - закрепление под восходящей трендовой (ниже 0.3961) по итогам дня!
Не иир
#OGKB (ОГК)
📉На прошлой сессии ушли под среднюю линию канала, сегодня видим ретест снизу.
Хоть котировки чувствовали себя лучше остальных в сентябре, но лонг планирую открыть как только закрепимя над серединой канала (выше 0.4074).
А пока ниже, то возможен провал к скользящей в район 0.38, где также подберу на отскок
Не иир
#OGKB
Совет директоров ОГК-2 рекомендовал дивиденды в размере ₽0,0598167018 на акцию (повторно)
💰Доходность выплаты: 14,7%
⏰Дата закрытия реестра: 5 ноября 2025
⏰ВОСА: 17 октября 2025
@moexdiv
#OGKB
Совет директоров ОГК-2 рекомендовал дивиденды в размере ₽0,0598167018 на акцию
💰Доходность выплаты: 16,1%
⏰Дата закрытия реестра: 10 июля 2025
⏰ГОСА: 23 июня 2025
@moexdiv