Referenz der INI-Datei in Python oder Ruby

Einführung

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.

Ausführungsumgebung

Python 2.7.5 Ruby 1.9.3

INI-Datei

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

Ergebnis
===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
Ergebnis
===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.

Zusammenfassung

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.

Ein kleiner Eindruck

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

Referenz der INI-Datei in Python oder Ruby
Verschieben von CSV-Dateien mit Python Teil 1
Bearbeiten Sie Dateien und Ordner in Python
Umgang mit JSON-Dateien in Python
Laden Sie Google Drive-Dateien in Python herunter
Sortieren Sie große Textdateien in Python
Lesen Sie Dateien parallel zu Python
Exportieren und Ausgeben von Dateien in Python
Extrahieren Sie mit Python Zeichenfolgen aus Dateien
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Unterschiede zwischen Ruby und Python im Umfang
Suchen Sie nach Dateien wie Linux Find in Python
Ausgabebaumstruktur von Dateien in Python
Express Python-Ertrag in JavaScript oder Java
Nehmen Sie die logische Summe von List in Python (Zip-Funktion)
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Automatisieren Sie Jobs, indem Sie Dateien in Python bearbeiten
Lesen und schreiben Sie JSON-Dateien mit Python
Beispiel für den Umgang mit EML-Dateien in Python
Nicht logische Operatorverwendung von oder in Python
Laden Sie Dateien in jedem Format mit Python herunter
Versuchen Sie etwas wie Python für-else in Ruby
Wie schreibe ich Ruby to_s in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Geokodierung in Python
SendKeys in Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Metaanalyse in Python
Unittest in Python
Zusammenfassung zum Importieren von Dateien in Python 3
Beheben Sie den japanischen Schreibfehler UnicodeEncodeError in der Python-Datei
Epoche in Python
Zwietracht in Python
GNU GLOBAL (gtags) + α in Go, Ruby, Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
Lesen und Schreiben von CSV- und JSON-Dateien mit Python
N-Gramm in Python
Programmieren mit Python
Behandeln Sie Zip-Dateien mit japanischen Dateinamen in Python 3
Plink in Python
Konstante in Python
Zeichenkodierung beim Umgang mit Dateien in Python 3
Teilen Sie Dateien beim Schreiben des Vim-Plugins in Python
So erhalten Sie die Dateien im Ordner [Python]
FizzBuzz in Python
Janken in Ruby
SQLite in Python
Schritt AIC in Python
Holen Sie sich die Datei, Funktion, Zeilennummer in Python ausgeführt
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python