Référence du fichier INI en Python ou Ruby

introduction

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.

Environnement d'exécution

Python 2.7.5 Ruby 1.9.3

Fichier INI

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")

résultat
===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
résultat
===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é.

Résumé

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.

Une petite impression

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

Référence du fichier INI en Python ou Ruby
Translocation de fichiers CSV avec Python Partie 1
Manipuler des fichiers et des dossiers en Python
Gestion des fichiers JSON en Python
Téléchargez des fichiers Google Drive en Python
Trier les gros fichiers texte en Python
Lire des fichiers en parallèle avec Python
Exporter et exporter des fichiers en Python
Extraire des chaînes de fichiers avec Python
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Différences entre Ruby et Python dans la portée
Trouver des fichiers comme Linux Find en Python
Arborescence de sortie des fichiers en Python
Rendement Python express en JavaScript ou Java
Prenez la somme logique de List en Python (fonction zip)
Tapez les annotations pour Python2 dans les fichiers stub!
Automatisez les tâches en manipulant des fichiers en Python
Lire et écrire des fichiers JSON avec Python
Exemple de gestion des fichiers eml en Python
Utilisation d'opérateurs non logiques de ou en python
Téléchargez des fichiers dans n'importe quel format en utilisant Python
Essayez quelque chose comme Python for-else dans Ruby
Comment écrire Ruby to_s en Python
Quadtree en Python --2
Python en optimisation
CURL en Python
Géocodage en python
SendKeys en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Méta-analyse en Python
Unittest en Python
Résumé de la façon d'importer des fichiers dans Python 3
Résoudre l'erreur d'écriture japonaise UnicodeEncodeError dans le fichier Python
Époque en Python
Discord en Python
GNU GLOBAL (gtags) + α dans Go, Ruby, Python
Allemand en Python
DCI en Python
tri rapide en python
nCr en python
Lire et écrire des fichiers CSV et JSON avec Python
N-Gram en Python
Programmation avec Python
Gérer les fichiers zip avec des noms de fichiers japonais dans Python 3
Plink en Python
Constante en Python
Encodage de caractères lors du traitement de fichiers en Python 3
Diviser les fichiers lors de l'écriture du plugin vim en python
Comment obtenir les fichiers dans le dossier [Python]
FizzBuzz en Python
Janken en Ruby
Sqlite en Python
Étape AIC en Python
Obtenez le fichier, la fonction, le numéro de ligne en cours d'exécution en python
LINE-Bot [0] en Python
CSV en Python
Assemblage inversé avec Python
Réflexion en Python
Constante en Python