Наверняка вы замечали, что в 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
Découvrez / partagez 6 idées de tracts pour le #RIC contre la #RéformeDesRetraites et pour le #RICveto comme droit d'opposition et d'abrogation de toutes les lois à la noix imposées par les élus !
Sur Telegram, ou sur Facebook :
https://www.facebook.com/Culture.RIC/posts/pfbid0J7w4VKU99hp1RiwkTkAtk33Rm2FPJTf6ABcpE4CexZcu8n9URT6WrRM6i8bLNGowl
Téléchargement : https://petition.ric-france.fr/petition-veto-reforme-des-retraites
Cinq 49.3 en 25 jours ?!?!
🍄 Il en pousse tellement qu’on ne pourra bientôt plus les compter !
Après un 15e 49.3 sur la budget de la sécurité sociale, #Borne en fait pousser un 16e sur la loi de finance, un 17e sur la loi de programmation budgétaire et un 18e puis un 19e à nouveau pour budget de la Sécu.
On n’arrive plus à suivre !
Il est temps que ça s’arrête…
Avec le #RICveto, on pourrait bloquer les 49.3 !
Avec le #RIClégislatif, proposer des alternatives…
Avec le #RICconstituant, supprimer le 49.3 ou limiter son utilisation.
Aidez à définir le RIC voulu par les Français :
➡️culture-ric.fr/consultation
Publis :
FB : fb.com/photo/?fbid=645835234427367
X : twitter.com/CultureRic/status/1729160608493576612
Insta : instagram.com/p/C0J66spqSVt
Avec le #RICconstituant, on pourrait supprimer ou limiter le 49.3 !
Avec le #RICveto, on pourrait bloquer les 49.3 !
Avec le #RIClégislatif, on pourrait proposer des alternatives !
Avec le #RICrévocatoire, ils ne s’y risqueraient même plus...
Aidez à définir le #RIC voulu par les Français
➡️culture-ric.fr/consultation
✏️ Fred Sochard
_____________________
Un nouvel illustrateur, fervent défenseur de la Démocratie, a accepté de nous laisser utiliser ses dessins pour promouvoir le #RIC et la #Démocratie.
Il s’agit de Fred Sochard, un talentueux illustrateur pour la presse et l'édition jeunesse. Il a étudié aux Arts Décoratifs de Paris. Ses sources d’inspiration sont diverses, mélangées : art brut, art populaire, art tribal, contes du monde entier, histoires de marins ou de pirates !
Vous pouvez en voir plus ici : fredsochard.com
__________
Partager
➤ FB - X - Insta
80% des Français sont opposés à la #RéformeDesRetraites et pourtant, ils sont impuissants…
75% pensent que malgré la forte opposition, la réforme aura lieu quand-même...
Il nous faut un nouveau droit politique, celui de pouvoir s’opposer aux lois injustes : le #RICveto !
Partagez massivement cette pétition pour la mise en place du RIC veto :
➡️https://petition.ric-france.fr/petition-veto-reforme-des-retraites
#Retraite#Borne#Macron#JusticeSociale#RIC#Référendum#Retraites#StopRetraiteMacron#RetraiteA60Ans#greve19janvier#19Janvier