ruby中应用iniparse解析ini设备文件
添加时间:2013-5-14 点击量:
ruby中解析ini设备文件有多种办法,比如inifile、iniparse等gem包,inifile解析出来的设备是乱序的,感触感染不直观,这里应用iniparse解析,可以解决乱序题目。
1 require rubygems
2 require iniparse
3 require inifile
4 path = File.dirname(__FILE__)
5
6 inifile = IniFile.load(#{path}/ini_parse.ini)
7 puts inifile[0].class # --> Hash
8 inifile[0].each do |k,v|
9 puts #{k} = #{v} # IniFile: 因为存储的是Hash,打印出来是乱序的
10 end
11
12 puts \n
13
14 iniparse = IniParse.open(#{path}/ini_parse.ini)
15 puts iniparse[0].class # --> IniParse::Lines::Section
16 iniparse[0].each do |item|
17 puts #{item.key} = #{item.value} # IniParse: 打印出来和原ini设备一致
18 end
19
20 # 写设备示例
21 document = IniParse::Generator.gen do |doc|
22 doc.section(0) do |section|
23 iniparse[0].each do |item|
24 section.option(item.key, item.value)
25 end
26 end
27 end
28 document.lines << iniparse[Config]
29 document.save(#{path}/new_config.ini)
ini_parse.ini内容如下:
1 [0]
2 key1 = abc
3 oldKey = 123
4 key2 = xyz
5 newKey = 456
6
7 [Config]
8 Count = 2
9 Version = 1.0
上述代码输出成果如下:
View Code
Hash
newKey = 456
oldKey = 123
key2 = xyz
key1 = abc
IniParse::Lines::Section
key1 = abc
oldKey = 123
key2 = xyz
newKey = 456
我们永远不要期待别人的拯救,只有自己才能升华自己。自己已准备好了多少容量,方能吸引对等的人与我们相遇,否则再美好的人出现、再动人的事情降临身边,我们也没有能量去理解与珍惜,终将擦肩而过。—— 姚谦《品味》
ruby中解析ini设备文件有多种办法,比如inifile、iniparse等gem包,inifile解析出来的设备是乱序的,感触感染不直观,这里应用iniparse解析,可以解决乱序题目。
1 require rubygems
2 require iniparse
3 require inifile
4 path = File.dirname(__FILE__)
5
6 inifile = IniFile.load(#{path}/ini_parse.ini)
7 puts inifile[0].class # --> Hash
8 inifile[0].each do |k,v|
9 puts #{k} = #{v} # IniFile: 因为存储的是Hash,打印出来是乱序的
10 end
11
12 puts \n
13
14 iniparse = IniParse.open(#{path}/ini_parse.ini)
15 puts iniparse[0].class # --> IniParse::Lines::Section
16 iniparse[0].each do |item|
17 puts #{item.key} = #{item.value} # IniParse: 打印出来和原ini设备一致
18 end
19
20 # 写设备示例
21 document = IniParse::Generator.gen do |doc|
22 doc.section(0) do |section|
23 iniparse[0].each do |item|
24 section.option(item.key, item.value)
25 end
26 end
27 end
28 document.lines << iniparse[Config]
29 document.save(#{path}/new_config.ini)
ini_parse.ini内容如下:
1 [0]
2 key1 = abc
3 oldKey = 123
4 key2 = xyz
5 newKey = 456
6
7 [Config]
8 Count = 2
9 Version = 1.0
上述代码输出成果如下:
View Code
Hash
newKey = 456
oldKey = 123
key2 = xyz
key1 = abc
IniParse::Lines::Section
key1 = abc
oldKey = 123
key2 = xyz
newKey = 456
我们永远不要期待别人的拯救,只有自己才能升华自己。自己已准备好了多少容量,方能吸引对等的人与我们相遇,否则再美好的人出现、再动人的事情降临身边,我们也没有能量去理解与珍惜,终将擦肩而过。—— 姚谦《品味》