Pythons eindeutige ConfigParser-Schlüssel pro Abschnitt

Ich habe den Teil von @ gelesdie docs und sah, dass dieConfigParser gibt eine Liste von Schlüssel / Wert-Paaren für die Optionen innerhalb eines Abschnitts zurück. Ich stellte mir vor, dass die Schlüssel innerhalb eines Abschnitts nicht eindeutig sein mussten, da der Parser sonst nur eine Zuordnung zurückgeben würde. Ich habe mein Konfigurationsdateischema unter dieser Annahme entworfen und dann leider festgestellt, dass dies nicht der Fall ist:

>>> from ConfigParser import ConfigParser
>>> from StringIO import StringIO
>>> fh = StringIO("""
... [Some Section]
... spam: eggs
... spam: ham
... """)
>>> parser = ConfigParser()
>>> parser.readfp(fh)
>>> print parser.items('Some Section')
[('spam', 'ham')]

Dann ging ich zurück und fand den Teil der Dokumente, die ichsollt habe gelesen

Sections werden normalerweise in einem integrierten Wörterbuch gespeichert. Ein alternativer Wörterbuchtyp kann an den ConfigParser-Konstruktor übergeben werden. Wenn beispielsweise ein Wörterbuchtyp übergeben wird, der seine Schlüssel sortiert, werden die Abschnitte beim Zurückschreiben sortiert, ebenso wie die Schlüssel in jedem Abschnitt.

Um mein vorhandenes Konfigurationsdateischema beizubehalten (das mir jetzt wirklich gefällt;), übergebe ich ein Mapping-ähnliches Objekt wie oben erwähnt, das Werte ansammelt, anstatt sie zu bereinigen. Gibt es einen einfacheren Weg, um den von mir vermissten Schlüssel- / Wertekollaps zu verhindern? Anstatt einen verrückten Adapter zu machen (der kaputt gehen könnte, wennConfigParser 's Implementierung ändert sich) sollte ich nur eine Variante des @ schreibConfigParser selbst?

ch denke, dies ist einer der Momente, in denen ich nur die schwierigen Lösungen seh

[Bearbeiten: Hier ist ein genaueres Beispiel, wie ich denselben Schlüssel mehrmals verwenden möchte:

[Ignored Paths]
ignore-extension: .swp
ignore-filename: tags
ignore-directory: bin

Ich mag die durch Kommas getrennte Listensyntax nicht, weil es für die Augen schwierig ist, sie auf viele Werte zu skalieren. Eine durch Kommas getrennte Liste von fünfzig Erweiterungen ist beispielsweise nicht besonders lesbar.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage