• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby第一次实践 ”hello world“发布时间:2022-07-14
下一篇:
rubyonrails在fedora18上install发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap