博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原】ruby中使用iniparse解析ini配置文件
阅读量:5020 次
发布时间:2019-06-12

本文共 1240 字,大约阅读时间需要 4 分钟。

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 end11 12 puts "\n"13 14 iniparse = IniParse.open("#{path}/ini_parse.ini")15 puts iniparse["0"].class                  # --> IniParse::Lines::Section16 iniparse["0"].each do |item|17   puts "#{item.key} = #{item.value}"      # IniParse: 打印出来和原ini配置一致18 end19 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     end26   end27 end28 document.lines << iniparse["Config"]29 document.save("#{path}/new_config.ini")

ini_parse.ini内容如下:

1 [0]2 key1 = abc3 oldKey = 1234 key2 = xyz5 newKey = 4566 7 [Config]8 Count = 29 Version = 1.0

上述代码输出结果如下:

View Code
HashnewKey = 456oldKey = 123key2 = xyzkey1 = abcIniParse::Lines::Sectionkey1 = abcoldKey = 123key2 = xyznewKey = 456

 

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

你可能感兴趣的文章
路由器wan口ip地址显示0.0.0.0怎么办
查看>>
struts搭建
查看>>
extern static关键字
查看>>
WPF和Silverlight程序中DispatcherTimer与Timer的区别
查看>>
AE开发实现Spatial Join Analysis
查看>>
RedHat 7 安装postgresql 9.2
查看>>
CCNUOJ 1027 教你前缀
查看>>
actionbar、toolbar、menu之间的关系
查看>>
QQ网页交谈
查看>>
JavaScript:学习笔记(8)——对象扩展运算符
查看>>
笔试题 相对位置不变的正负数排序
查看>>
第一天
查看>>
mappingResource属性和mappingDirectoryLocations属性的使用
查看>>
NSString常用的技巧
查看>>
网络编程与并发编程相关网址链接
查看>>
通过python理解闭包
查看>>
linux面试题及答案
查看>>
MongoDB命令行操作
查看>>
Android平台一些流行的使用3D技术开发的锁屏
查看>>
近期的一点感慨
查看>>