【原】ruby中使用iniparse解析ini配置文件

本文介绍了使用Ruby中的iniparse gem来解析INI配置文件的方法,对比了inifile gem的乱序问题,并提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

 

转载于:https://www.cnblogs.com/ruby-huang/archive/2013/05/12/3074191.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值