Наверняка вы замечали, что в 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
Периодически сталкиваюсь с такой постановкой проблемы не-юристами.
Якобы непонятно, кто должен отвечать за последствия действий искусственного интеллектуального агента*, которому делегирована некая задача. А когда задачу выполнял человек, всё было понятно.
У меня вопрос: почему непонятно? Кто делегировал задачу, тот и отвечает. Почему, когда кто-то делегирует задачи калькулятору или бухгалтерской программе, вопрос об ответственности делегирующего перед теми, с кем он взаимодействует, не ставится под сомнение?
И будь калькулятор или пограмма хоть сто раз дефектными, перед посторонними отвечает всё равно их пользователь. Независимо от вины. Дальше он может разбираться с производителем калькулятора или программы, если есть на то основания. Но принцип не меняется.
Есть основания считать иначе?
#liability#delegation
🏦Osiyo taraqqiyot banki delegatsiyasining Biznes va tadbirkorlik oliy maktabiga tashrifi
🟧 Oliy maktabda direktor o‘rinbosari Mirkomil Odilov boshchiligida Osiyo taraqqiyot banki (OTB) Markaziy va G‘arbiy Osiyo mintaqasida operatsiyalarni muvofiqlashtirish bo‘yicha bosh mutaxassisi Shayista Husaynxonim boshchiligidagi delegatsiya bilan uchrashuv bo‘lib o‘tdi.
💲Visit of the Asian Development Bank Delegation to the Graduate School of Business and Entrepreneurship
🟧 The Graduate School hosted a meeting between its management, represented by Deputy Director Mirkomil Adilov, and the delegation of the Asian Development Bank (ADB), headed by Ms. Shayista Hussain, Chief Operations Specialist for Central and West Asia Operations Coordination.
🏦 Визит делегации Азиатского банка развития в Высшую школу бизнеса и предпринимательства
🟧 В Высшей школе состоялась встреча руководства в лице заместителя директора Миркомила Адилова с делегацией Азиатского банка развития (АБР), возглавляемой главным специалистом по операционным вопросам Координации операций в регионе Центральной и Западной Азии г-жой Шайистой Хуссейн.
#GraduateSchool#Meeting#ADB#Delegation
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
Когда не делегировать задачу машине — аморально?
На WLS 2019 я поднял одну интересную этическую тему.
Весьма вероятно, что по мере технического прогресса машины продолжат становиться эффективнее людей в широком спектре задач.
В ряде случав эффективность может выражаться в спасении или повышении качества жизней десятков (сотен, тысяч, миллионов?) людей.
Очевидный пример — полностью автономное вождение. Условие его широкого принятия обществом — машина начнёт водить безаварийнее, чем средний водитель-человек.
В связи с этим — вопрос к вам на голосование ниже.
#ethics#ai#unmanned_tech#delegation
🚀 Iranian Delegation Arrives in Pakistan for Talks with U.S.
On April 10, an Iranian delegation arrived in Pakistan to engage in discussions, according to BlockBeats. The primary negotiations between Iran and the United States are scheduled to take place tomorrow.
#Iran#Pakistan#US#delegation#talks#diplomacy#internationalrelations