如何使用Python从具有特定键的字典(yaml文件)中获取序列依赖关系?

2024-05-16 03:12:43 发布

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

我有一个YAML文件(比如config文件),它看起来像:

Network:
  name: Network
  require: ~
IPaddress1:
  name: IPapp
  require: Network
IPaddress2:
  name: IPweb
  require: Network
Server1:
  name: AppServer
  require: IPaddress1
Server2:
  name: WebServer
  require: IPaddress2

我用PyYAML库解析了它:

def get_config(configpath):
    with open(configpath, 'r') as file_descriptor:
        data = yaml.load(file_descriptor)
    return data

我有一本字典。
现在,如何使用键“require”为特定值(Network、IPaddress。。。等)?
我的意思是:
服务器2的向下方向:

[Server2, IPaddress2, Network]

服务器1的向下方向:

[Server1, IPaddress1, Network]

但向上方向更复杂。以网络为例:

[Server1, IPaddress1, Server2, IPaddress2, Network]

因为网络有2个从属项(IP地址1和IP地址2)。
最后,我要做的是:如果我想创建Server1,我必须创建Network,然后是IPaddress2。如果我想删除网络,我必须删除Server1-2和它们的ip


Tags: 文件name网络configdatarequirenetwork方向