从属性文件中读取bash数组到脚本中

时间:2016-09-16 18:53:16

标签: python

  1. 我的属性文件abc.prop包含以下内容。

    x=(A B)
    y=(C D)
    
  2. 我有一个python脚本abc.py,可以加载属性文件abc.prop。 但是我无法迭代并转换abc.prop中的数组,如下所示,

    x_array=['A','B']
    y_array=['C','D']
    
    1. 我尝试了以下操作,但我想知道是否有更好的方法,而不是使用replace()并剥离大括号。
    2. importConfigFile = "abc.prop" propInputStream = FileInputStream(importConfigFile) configProps = Properties() configProps.load(propInputStream) x_str=configProps.get("x") x_str=x_str.replace("(","") x_str=x_str.replace(")","") x_array=x_str.split(' ')

      请建议一种方法来实现这一目标。

1 个答案:

答案 0 :(得分:1)

我不知道对python数据结构转换器有任何特殊的重击。我怀疑有没有。我可能建议的唯一一点是更清洁,更有活力的方式。

data = {}
with open('abc.prop', 'r') as f:
    for line in f:
        parts = line.split('=')
        key = parts[0].strip()
        value = parts[1].strip('()\n')
        values = value.split()
        data[key] = [x.strip() for x in values]
print(data)