Ruby讀取INI檔案

2021-08-30 03:02:59 字數 1227 閱讀 6564

將讀取ini檔案的類用ruby翻譯了一下,記下來備用

class inireader

def initialize(filename)

@sections = {}

current_section, kv_hash = nil

file.open(filename).each_line do |line|

line = line.strip

if line != ''

if line[0].chr == '[' and line[-1].chr == ']'

current_section = line[1, line.length - 2]

kv_hash = {}

else

kv = line.split("=")

kv_hash[kv[0]] = kv[1]

@sections[current_section] = kv_hash

endend

endend

def get_sections

@sections.keys

enddef get_keys(sectionname)

(@sections[sectionname]).keys

enddef get_value(sectionname, keyname)

(@sections[sectionname])[keyname]

endend

# tester

reader = inireader.new('test.ini')

puts reader.get_sections

puts reader.get_keys('section2')

puts reader.get_value('section3', 'key3')

在編寫這段**時查到一段輸出除錯hash的技巧

使用普通的puts方法輸出hash物件是key-value連在一起的,基本不可讀;

簡單的hash物件可以使用這種 p 方法輸出檢視

p hash

複雜的hash物件可以使用 pp 方法輸出檢視,這種輸出叫pretty-print

require 'pp'

pp hash

讀取INI檔案

讀取ini檔案 ini ini new ini using system using system.text using system.runtime.interopservices namespace qf public string path 引用動態連線庫方法 dllimport kernel...

讀取ini檔案

自定義讀取ini檔案中的內容方法 鍵 值 private string contentvalue string section,string key 寫入ini檔案 節點名稱 如 typename 鍵 值 檔案路徑 dllimport kernel32 private static extern l...

讀取ini檔案

1.得到當前根目錄 import os 2.ini檔案組成 注釋內容 section部分 key value 多個 section 部分 可以有多個,但section不可重複 key value 多個 3.讀取ini檔案 3.1獲取ini檔案路徑 3.2匯入 configparser 3.3 先獲得...