使用python动态接收新创建的Windows环境变量

时间:2018-05-15 11:56:57

标签: python environment-variables

快速提问,没有太多代码要遵循。我有一个程序,将通过winrm传递4个Windows环境变量给我。我将知道这4个值中的3个,并且可以使用os模块搜索它们并如下编写它们。

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

这三个变量不会寻找那些确切的3个环境变量,但重点是环境变量将是静态的。第四个环境变量虽然未知,虽然会有一定数量的环境变量,但这个数字可能不小,可能有很多不同的选项。我不认为可以选择的所有可能的环境变量名称列表最好。有没有办法让任何变量传递给我并将其存储在我的配置中?当然config可能不会使用getenv()

config = os.getenv('x')

配置环境变量将指向包含该工具配置详细信息的yaml文件。 这是用python。在获得第四个变量之后,我将所有这些环境变量放入json对象中。

1 个答案:

答案 0 :(得分:0)

当你这样做时:

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