Наверняка вы замечали, что в 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
#Francia
Durante un suo comizio a Figeac in #Occitania, Emmanuel #Macron è stato contestato con un striscione che recitava "Quando tutto sarà privato saremo privati di tutto".
Il candidato Presidente ha risposto dicendo "Congratulazioni per essere in una democrazia dove puoi sfidare il presidente! Parlerò con loro dopo il comizio."
@UltimoraPolitics
Cardabèla — Cantos y danzas del Languedoc (Guimbarda, 1979)
#medieval#traditional#Occitania#France
Cardabela — французская группа из города Монпелье. Cantos y Danzas del Languedoc — их третий альбом с песнями их родного Лангедока, исторической области на юге Франции, части Окситании, родины средневековых трубадуров, население которой традиционно говорило на окситанском языке. Участники группы изучали музыку и пение трубадуров XII века. В результате их знания и происхождение сильно сказалось на звуке. Перед вами почти никому не известный выдающийся образец очень убедительного средневекового окситанского фолка.
Telegram
Jean Ségurel — Autour des Monédières (Odeon, 1959)
#chanson#traditional#Occitania#France
Для народной музыки Окситании, родины трубадуров, расположенной на юге Франции и в небольшой части Испании и Италии, характерны баллады. В балладах с этого альбома слышно переплетение мотивов этих стран, однако из-за исполнения Жана Сэгуреля они приобретают оттенок французского шансона. Жан-Батист Сэгурель – французский аккордеонист, композитор и дирижер, родился 13 октября 1908 года во французской коммуне Шомей. Сэгурель начинал как скрипач, однако, взяв в руки аккордеон по возвращению с военной службы, он осознал, что хочет посвятить этому инструменту свою жизнь. Значительный период карьеры Сэгурель был менестрелем своего времени: выступал на различных ярмарках и свадьбах. Друзья Жана-Батиста представили его основателю лейбла «Le Soleil», благодаря которому он утвердился как профессиональный музыкант. В 1968 году генерал де Голль присвоил ему звание кавалера Почетного легиона.
Spotify | AppleMusic
Bachàs — Cants E Mùsicas Dau Païs Nissart (Ventadorn, 1979)
#traditional#mandolin#violin#flute#hurdy_gurdy#accordion#Occitania#France
Bachàs — французский коллектив из города Ницца, исполнявший окситанский фолк на окситанском языке. Перед вами их первый альбом, на котором можно услышать старинные песни, инструментальную музыку и музыка для танцев из города Прованс, окрестностей Ниццы и других исторических областей юга Франции. Разнообразное звучание напоминает о музыке окситанских трубадуров и о народных мотивах соседних Испании и Италии.
Telegram
Lo Jai — Musiques Traditionnelles Du Limousin (Revolum, 1981)
#traditional#chabrette#ocarina#pifres#hurdy_gurdy#tambours#violin#Occitania#France
Группа Lo Jai была основана в Лионе в 1980 году, когда три участника фолк-группы Le Grand Rouge присоединились к своему коллеге, чтобы исследовать музыку Лимузена. Группа исполняет композиции в региональном стиле Лимузена, который напоминает арабскую музыку и служит напоминанием о том, что французская культура представляет собой не столько монолитную сущность, сколько множество региональных культур, звуков и языков. Перед вами первый альбом коллектива.
🔗Telegram