Наверняка вы замечали, что в 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
#SpringerNature#Springerlink#вебинар
Вебинар от издательства Springer Nature о платформе Springerlink
Издательство Springer Nature приглашает пользователей на вебинар, посвящённый платформе Springerlink.
Дарья Савельева, представитель Springer Nature, расскажет об эффективном использовании инструментов платформы для поиска и работы с онлайн-ресурсами издательства. В ходе вебинара будет затронут вопрос про обновление интерфейса платформы Springerlink.
Вебинар состоится 8 февраля в 10:00 (время московское).
Информация о вебинаре и ссылка для регистрации опубликованы в разделе Вебинары нашего сайта.
Work illustrations by Storyset
Семинар Springer Nature 🔔
28 сентября состоялся семинар для сотрудников Государственной публичной научно-технической библиотеки России и их коллег. Команда 100К20 рассказала о возможностях ресурсов Springer Nature, а также о публикациях в международных журналах.
В ходе семинара была продемонстрирована практическая часть по работе с платформой Springerlink, на которой были разобраны наглядные примеры. На семинаре также были представлены полезные ресурсы и инструменты как для библиотекарей, так и для исследователей и авторов.
Напоминаем, что Springer Nature является одним из крупнейших в мире издателей научных журналов и книг по различным областям исследований, чьи ресурсы доступны российским организациям в рамках национальной подписки.
#семинар#библиотека#SpringerNature#электронныересурсы
#SpringerNature#инструментыдляавторов#публикация
Издательство Springer Nature анонсировало запуск нового сервис-помощника Curie на базе искусственного интеллекта, который поможет исследователям улучшить качество научных текстов на английском языке.
Curie доступен для всех авторов при подготовке статей к публикации в журналах Springer Nature и особенно будет полезен тем, для кого английский язык не является родным.
Веб-сервис сочетает в себе возможности больших языковых моделей (LLM) со специализированным цифровым редактированием, предназначенным специально для академического письма.
Подробная информация опубликована на нашем сайте в разделе Новости.
Worker illustrations by Storyset
#SpringerNature#InReview#инструментыдляавторов
#публикация
Издательство Springer Nature сообщает, что более 1000 журналов, включая серию журналов открытого доступа Discover Journals, интегрированы с сервисом препринтов «In Review».
In Review разработан компанией Research Square в сотрудничестве со Springer Nature и входит в портфолио издательских услуг Springer Nature с октября 2018 г.
Сервис «In Review» позволяет обмениваться информацией, а также делает процессы подачи рукописей и рецензирования статей более прозрачными для авторов. Авторы, использующие данный сервис, могут ссылаться на свою работу и делиться ею, пока она находится на стадии рецензирования, а также получать обновления в режиме реального времени о статусе рецензирования.
Springer Nature также сообщает, что до конца года ещё более 100 журналов будут интегрированы с «In Review».
Подробнее о сервисе «In Review» можно узнать на сайте Springer Nature.
Data illustrations by Storyset
Предлагаем ознакомиться с графиком вебинаров от ведущих международных издательств на ближайшую неделю:
📅25 октября 2023 в 11:00 и 21:00 (мск)
✅CAS | Вероятностные модели и их применение
Регистрация доступна по ссылке.
📅26 октября 2023 в 17:00 (мск)
✅Questel | Продвинутый тренинг по Orbit Intelligence
Регистрация доступна по ссылке.
📅26 октября 2023 в 18:00 (мск)
✅Springer Nature | Редактирование статьи онлайн
Регистрация доступна по ссылке.
#вебинар#исследования#электронныересурсы#наука#библиотека#публикации#CAS#Questel#SpringerNature
Предлагаем ознакомиться с графиком вебинаров от ведущих международных издательств на этой неделе:
✅Springer Nature | Публикация в международном издательстве
📅 15 августа 2023 в 12:00 (мск)
Регистрация доступна по ссылке.
✅World Scientific | Исследования в области Математических наук в World Scientific
📅16 августа 2023 в 11:00 (мск)
Регистрация доступна по ссылке.
✅SAE International | Вебинар-интервью от SAE International
📅16 августа 2023 в 18:00 (мск)
Регистрация доступна по ссылке.
✅AMS | Работа на платформе MathSciNet
📅17 августа 2023 в 12:00 (мск)
Регистрация доступна по ссылке.
#вебинар#исследования#цитирования#электронныересурсы#наука#библиотека#публикации#SpringerNature#WorldScientific#SAEInternational#AMS