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

2024-04-24 05:37:30 发布

您现在位置:Python中文网/ 问答频道 /正文

快速的问题,没有太多的代码遵循。我有一个程序,将通过winrm传递4个windows环境变量给我。我将知道这4个值中的3个,并可以使用操作系统模块搜索它们,并按如下所示编写它们

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

这3个变量不会寻找那3个环境变量,但关键是环境变量是静态的。第四个环境变量是未知的,虽然会有一定数量的环境变量,但这个数字可能不小,可能有很多不同的选择。我认为这里最好不要列出所有可能的环境变量名。有没有办法得到传递给我的变量并将其存储在我的配置中?当然,config不能使用getenv()

config = os.getenv('x')

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


Tags: 模块代码程序configtargetoswindows环境变量
1条回答
网友
1楼 · 发布于 2024-04-24 05:37:30

当您这样做时:

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

相关问题 更多 >