C'est une méthode pour lire le fichier INI comme exemple de chargement des paramètres que vous avez sortis avec Ruby et Python.
Python 2.7.5 Ruby 1.9.3
Le fichier INI à lire ressemble à ceci. "Hoge3" n'est pas décrit dans "TEST2" afin que vous puissiez voir le comportement lorsqu'il n'y a pas de nom de clé.
test.ini
[TEST1]
hoge1=aaa
hoge2=bbb
hoge3=ccc
hoge4=ddd
[TEST2]
hoge1=AAA
hoge2=BBB
hoge4=CCC
Python Tout d'abord, laissez Python lire le fichier de configuration. Python utilise le module standard "Config Parser". L'environnement d'exécution est 2.7, mais cette zone devrait être presque la même même en 3 séries. .. ..
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
S'il n'y a pas de nom de clé, cela semble générer une erreur.
Ruby Ensuite, faites de même avec Ruby. L'environnement d'exécution est 1.9.3. Dans le cas de Ruby, vous devez d'abord installer le "module inifile". Pour installer, exécutez simplement la commande gem suivante.
gem install inifile
Et le code source.
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
Dans le cas de ruby, il semble qu'un caractère vide soit renvoyé lorsqu'il n'y a pas de nom de clé.
Python Le module est fourni en standard Lancer une erreur lorsqu'il n'y a pas de nom de clé
Ruby Nécessite une installation S'il n'y a pas de nom de clé, seul un caractère vide sera renvoyé et aucune erreur ne se produira.
Il semble que l'application soit meilleure si vous ne lancez pas d'erreur même si vous n'avez pas de nom de clé, Je suis satisfait de l'environnement standard si vous ne pouvez pas l'installer librement.
Recommended Posts