} } }

    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



    我们永远不要期待别人的拯救,只有自己才能升华自己。自己已准备好了多少容量,方能吸引对等的人与我们相遇,否则再美好的人出现、再动人的事情降临身边,我们也没有能量去理解与珍惜,终将擦肩而过。—— 姚谦《品味》
    分享到: