[Python-de] importlib.metadata: Keys funktionieren nicht , wenn es mehrere gibt
<[email protected]> Mon, 2 Jan 2023 14:00:59 +0000
| Newsgroups | gmane.comp.python.general.german |
|---|---|
| Message-ID | <[email protected]> |
Hi,
ich versuche herauszufinden, wie die Nutzung von importlib.metadata
eigentlich gedacht ist. In Beispielen sieht man of einen dict-artigen
Zugriff
importlib.metadata.metadata['mypackage']['Version']
Das funktioniert aber nicht, wenn man z.B. mehrere "Classifier" oder
"Project-URL" in den Meta-Daten des Paketes hat.
importlib.metadata.metadata['mypackage']['Project-URL']
zeigt immer nur die erste URL an, aber nicht die weiteren.
Das Meta-Datenobjekt hat auch einen merkwürdigen Typ.
>>> m = metadata.metadata('mypackage')
>>> m
<email.message.Message object at 0x7fa2cabe6370>
Nun kann ich das alles umgehen, in dem ich auf das "_headers" Attribute
zugreife und ein bisschen "rummauschle".
>>> for h in m._headers:
... if h[0] == 'Project-URL':
... print(h[1])
...
homepage, https://codeberg.org/buhtz/hyperorg
repository, https://codeberg.org/buhtz/hyperorg
changelog, https://codeberg.org/buhtz/hyperorg/src/CHANGELOG.md
Da es sich aber um ein privates Attribute handelt, betrachte ich das
als Workaround/Hack und nicht so von den Entwicklern gedacht.
_______________________________________________
python-de Mailingliste -- [email protected]
Zur Abmeldung von dieser Mailingliste senden Sie eine Nachricht an [email protected]
https://mail.python.org/mailman3/lists/python-de.python.org/
Mitgliedsadresse: [email protected]