將讀取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 先獲得...