在Python中解析属性文件

时间:2017-04-24 00:42:14

标签: python parsing

test1.properties的条目key1 = 200,test2.properties的条目key2 = 500

files = ['test1.properties', test2.properties']

for file in files:
  with open(file) as stream:
     stream = StringIO("[top]\n" + stream.read())
     parser.readfp(stream)
     print parser.items('top')

[(' key1',' 200'),(' key2',' 500')]

希望在迭代期间根据文件在现有元组列表中添加另一个项目。 file1项应仅添加到test1.properties元组中,file2项应仅添加到test2.properties元组中。

[(' key1',' 200',' file1'),(' key2',' 500' ;,' file2')]

1 个答案:

答案 0 :(得分:0)

这是一个解决方案。

import re
files = ['test1.properties', 'test2.properties']
values = []
for file in files:
  with open(file) as file_obj:
     stream = StringIO("[top]\n" + file_obj.read())
     parser.readfp(stream)
     n = re.search('(\d+)', file_obj.name).group(1)
     values.append(parser.items('top') + ('file%s' % n,))

print(values)