Hallo zusammen,
hat vielleicht jemand eine Idee, wie man den Text, den ein print-Befehl erzeugt weiter verwenden kann ?
z.B.
print A
>>> <class 'ZCML.TOP.SUB.foo_mod.A'>
daraus bräuchte ich den Text: ZCML.TOP.SUB.foo_mod.A extrahiert, in eine Variable gespeichert.
Im Grunde will ich einfach nur die Package Hierarchie von der Klasse A abfragen, habe aber leider noch keine brauchbare Lösung gefunden, die mir genau diesen Text "ZCML.TOP.SUB.foo_mod.A " anzeigt. Den String zu extrahieren ist vielleicht nicht die eleganteste Lösung .. würde mir aber erstmal reichen.
Danke für eure Hilfe !
print Anzeigetext extrahieren (Package Hierarchie)
@h1vltg3: Die elegante Variante wäre wohl eher die Attribute `__name__` und `__module__` von `A` zu verwenden.
Edit:
Edit:
Code: Alles auswählen
In [21]: print Element
<class 'xml.etree.ElementTree.Element'>
In [22]: print '{0.__module__}.{0.__name__}'.format(Element)
xml.etree.ElementTree.Element
Vielen Dank, scheint zu funktionieren!
Könntest du mir den Code noch etwas weiter erläutern, bzw. auf was dieser Befehl beruht ?
Diverse Logger benutzen den selben Befehl, aber so ganz klar wie das funktioniert ist mir nicht
Könntest du mir den Code noch etwas weiter erläutern, bzw. auf was dieser Befehl beruht ?
Diverse Logger benutzen den selben Befehl, aber so ganz klar wie das funktioniert ist mir nicht
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Auf nichts besonderem:
`str.format` laesst eben Attributszugriffe in den Formatstrings zu, mehr unter https://docs.python.org/2/library/strin ... matstrings
Code: Alles auswählen
In [1]: from xml.etree.ElementTree import Element
In [2]: "%s.%s" % (Element.__module__, Element.__name__)
Out[2]: 'xml.etree.ElementTree.Element'
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte