Skip to main content
 首页 » 编程设计

python之随着应用程序的进展逐步构建一组记录

2025年05月04日10grandyang

我有一个系统管理员类型的 CLI 应用程序,它从配置文件中读取信息。我无法更改以下配置文件的格式。

TYPE_A = "value1,value2,value2" 
TYPE_A = "value3,value4,value5" 
TYPE_B = "valuex,valuey,valuez" 

根据 TYPE,我需要对每一个进行一些初始处理。完成所有步骤后,我需要做一些额外的处理,并根据选择的选项打印状态和预期操作或执行这些操作。

我想将配置初始解析为字典列表的字典,并更新 TYPE_A、TYPE_B、TYPE_C< 的每个实例 等所有相关信息。然后打印完整状态或执行操作(或者如果某些状态不正确则失败)

我的想法是它看起来像:

dict 
    TYPE_A_list 
        dict_A[0] key:value,key:value,key:value 
        dict_A[1] key:value,key:value,key:value 
    TYPE_B_list 
        dict_A[0] key:value,key:value,key:value 
        dict_A[1] key:value,key:value,key:value 

我想我想将配置读入其中,然后在应用程序运行和重新处理每个 TYPE 时添加键和值或更新值。

最后是我的问题。

  1. 我不确定如何遍历每个字典列表或添加列表元素以及添加或更新键值对。
  2. 我上面描述的是解决这个问题的最佳方法吗?

我是 Python 的新手,所以我愿意接受任何建议。 FWIW,这将是 python 2.6。

关于配置文件行的一些说明

    CAR_TYPE = "Ford,Mustang,Blue,2005" 
    CAR_TYPE = "Honda,Accord,Green,2009" 
    BIKE_TYPE = "Honda,VTX,Black,2006" 
    BIKE_TYPE = "Harley,Sportster,Red,2010" 
    TIRE_TYPE = "170R15,whitewall" 
    
每种类型将具有相同的顺序和值的数量。

请您参考如下方法:

无需“记住”有两种不同的 TYPE_A 分配 - 您可以将它们组合起来。

TYPE_A = "value1,value2,value2" 
TYPE_A = "value3,value4,value5" 

将被解析为其中之一,或两者,取决于您的系统管理员 CLI 应用程序的实现。

那么数据模型应该是:

dict 
    TYPE_A: list(value1, value2, value3) 
    TYPE_B: list(valuex, valuey, valuez) 

这样,您就可以很容易地遍历 dict.items():

for _type, values in dict.items(): 
    for value in values: 
        print "%s: %s" % (_type, value) 
        # or whatever you wish to do