2013-12-09 3 views
-1

Я готовлю новый скрипт python для нашей постоянной формы интеграции, основанной на Hudson/maven/nexus и т. Д.Могу ли я передать список os.getenv()?

Чтобы сделать это, я должен проверить некоторые переменные окружения перед тем, как начать что-либо на моем сценарии, поэтому я планировал для использования функции getenv() модуля ОС.

Я использовал его много раз, как один выстрел, чтобы проверить ограниченный набор переменных, как описано в документации питона:

Python os.getenv() Documentation

На этой документации, они сказали, что os.getenv() "будет возвращать значение переменной envrionnement varname", но они не сказали, если мы можем или не можем передать несколько значений varname.

На данный момент я использую колесо FOR, чтобы проверить их все, я уверен, что сравнение с dict будет более эффективным, и я буду работать над этим во втором обзоре кода.

Итак, если вы уже тестируете передачу нескольких аргументов функции getenv(), я буду рад вас слышать!

ответ

1

Вы можете использовать os.environ. Я не уверен, что вы хотите сделать точно, но я приведу вам пример:

wanted_envs={'HOME':'', 'USER':'', 'BANANA':''} 
for env in wanted_envs.iterkeys(): 
    if env in os.environ: 
     wanted_envs[env] = os.environ[env] 
+0

Да, именно это я и делаю в настоящее время, я просто подумал, что, возможно, переменная getenv() скорее примет многозначный аргумент: D Спасибо за ваш ответ! –

+1

Добро пожаловать. Но я не думаю, что getenv скорее согласится с множеством аргументов. – smeso

+0

Какая жалость! Было бы полезно иметь что-то вроде: *** MyListOfElement = ['apple', 'pinapple', 'express'] os.getenv (MyListOfElement) *** –

Смежные вопросы