Dies ist eine Methode zum Lesen der INI-Datei als Beispiel für das Laden der Einstellungen, die Sie mit Ruby und Python vorgenommen haben.
Python 2.7.5 Ruby 1.9.3
Die zu lesende INI-Datei sieht folgendermaßen aus. "Hoge3" wird in "TEST2" nicht beschrieben, sodass Sie das Verhalten sehen können, wenn kein Schlüsselname vorhanden ist.
test.ini
[TEST1]
hoge1=aaa
hoge2=bbb
hoge3=ccc
hoge4=ddd
[TEST2]
hoge1=AAA
hoge2=BBB
hoge4=CCC
Python Lassen Sie Python zunächst die Konfigurationsdatei lesen. Python verwendet das Standardmodul "Config Parser". Die Ausführungsumgebung ist 2.7, aber dieser Bereich sollte auch in 3 Serien fast gleich sein. .. ..
readSetting.py
import ConfigParser
def _get(inifile, section, name):
try:
return inifile.get(section, name)
except Exception, e:
return "error: could not read " + name
if __name__=="__main__":
inifile = ConfigParser.SafeConfigParser()
inifile.read("./test.ini")
for section in inifile.sections():
print '===' + section + '==='
print _get(inifile, section, "hoge1")
print _get(inifile, section, "hoge2")
print _get(inifile, section, "hoge3")
print _get(inifile, section, "hoge4")
===TEST1===
aaa
bbb
ccc
ddd
===TEST2===
AAA
BBB
error: could not read hoge3
CCC
Wenn es keinen Schlüsselnamen gibt, scheint es einen Fehler zu geben.
Ruby Dann machen Sie dasselbe mit Ruby. Die Ausführungsumgebung ist 1.9.3. Im Fall von Ruby müssen Sie zuerst das "Inifile-Modul" installieren. Führen Sie zum Installieren einfach den folgenden gem-Befehl aus.
gem install inifile
Und der Quellcode.
readSetting.rb
require 'inifile'
def _get(inifile, section, name)
begin
return inifile[section][name]
rescue => e
return "error: could not read #{name}"
end
end
inifile = IniFile.load('./test.ini')
inifile.each_section do |section|
puts "===#{section}==="
puts _get(inifile, section, 'hoge1')
puts _get(inifile, section, 'hoge2')
puts _get(inifile, section, 'hoge3')
puts _get(inifile, section, 'hoge4')
end
===TEST1===
aaa
bbb
ccc
ddd
===TEST2===
AAA
BBB
CCC
Im Fall von Ruby scheint ein leeres Zeichen zurückgegeben zu werden, wenn kein Schlüsselname vorhanden ist.
Python Das Modul wird standardmäßig mitgeliefert Wirf einen Fehler aus, wenn kein Schlüsselname vorhanden ist
Ruby Erfordert die Installation Wenn kein Schlüsselname vorhanden ist, wird nur ein leeres Zeichen zurückgegeben und es tritt kein Fehler auf.
Es scheint, dass die Anwendung besser ist, wenn Sie keinen Fehler auslösen, auch wenn Sie keinen Schlüsselnamen haben. Ich bin mit der Standardumgebung zufrieden, wenn Sie sie nicht frei installieren können.
Recommended Posts