Динамически получать вновь созданные переменные среды Windows с Python - PullRequest
0 голосов
/ 15 мая 2018

Быстрый вопрос с небольшим кодом для подражания.У меня есть программа, которая будет передавать мне 4 переменные среды Windows через WinRM.Я буду знать 3 из этих 4 значений и могу искать их с помощью модуля os и писать их, как показано ниже.

target = os.getenv('OS')
tool = os.getenv('TMP')
record = os.getenv('TEMP')

Эти 3 переменные не будут искать именно эти 3 переменные среды, но дело в том, что переменная среды будет статической.Четвертая переменная окружения неизвестна, и хотя будет определенное количество переменных окружения, это число может быть небольшим и может иметь множество различных опций.Я не думаю, что список всех возможных имен переменных окружения будет лучше всего выбирать здесь.Есть ли способ получить любую переменную, переданную мне и сохранить ее в моей конфигурации здесь?Конечно, config не может использовать getenv ()

config = os.getenv('x')

Переменная среды config будет указывать на файл yaml с подробной информацией о конфигурации инструмента.Это с питоном.Я буду помещать все эти переменные окружения в объект json после того, как смогу получить эту четвертую переменную.

1 Ответ

0 голосов
/ 18 мая 2018

Когда вы делаете:

target = os.getenv('OS')

вы не ищете, как вы указываете, но вы просто получаете.

Если вы хотите найти переменную среды, которая указывает на файл YAML, вы должны сделать что-то вроде:

import os

from config import my_config  # or something to get your configuration instance

for envvar in os.environ:
    if os.environ[envvar].endswith('.yaml'):
        if some_other_test_to_make_sure_this_is_the_env_var_you_want:
        config.add_yaml(os.environ[envvar])
        break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...