Python XML Probleme

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
hammelwade
User
Beiträge: 19
Registriert: Dienstag 6. März 2012, 10:11

DANKE DANKE DANKE!!! :D

danke eurem bespiel konnte ich endlich den Fehler den ich die ganze Zeit schon mache finden...
warum ich die ganze Zeit nur Fehlermeldungen bekam lag an einem Fehlerhaften aufruf...

mein Fehler:

Code: Alles auswählen

1  tree = etree.parse(f)
2  test = tree.xpath("/hostlist/hosts/host")
3  variab= test[1].attrib('ip')
4  print(variab)
Lösung:

Code: Alles auswählen

3  variab= test[1].attrib['ip']
mein Problem war als die ganze Zeit das ich eine Methode aufrufen wollte was in dem Fall aber falsch ist... also anstatt "runde" Klammern, hätten eckige Klammern schon die Lösung gebracht...

Aber ich hab jetzt meinen Aufbau auch etwas an eurem Stil anpassen können, so dass es jetzt auch nach Python aussieht ;)

Also das auslesen sowie das verändern der Attribute funktioniert jetzt einwandfrei und ich kann mein Programm endlich zuenede bringen :) ich versuchs mal eben ales umzusetzen und melde mich wenn alles klappt nochmal :)
BlackJack

@hammelwade: Wenn *das* der Fehler war, dann ist die Ausnahme folgende:

Code: Alles auswählen

In [92]: element.attrib('spam')
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)

/home/bj/<ipython console> in <module>()

TypeError: 'lxml.etree._Attrib' object is not callable
Das `_Attrib`-Objekt ist nicht aufrufbar. Deutlicher geht es doch kaum. Und für den Fall, dass *Du* so eine deutliche Meldung nicht deuten kannst — *wir* hätten das ganz bestimmt gekonnt. :roll:
hammelwade
User
Beiträge: 19
Registriert: Dienstag 6. März 2012, 10:11

@BlackJack: nein ich muss zugeben das konnte ich nicht, wie gesagt ich bin ein Anfänger und habe nicht viel erfahrung mit Programmieren(weshalb ich auch eine Ausbildung zum Systemintegrator mache und nicht Anwendungsentwicklung)... Ich hätte diese Fehlermeldung besser auch posten sollen... aber gut das fällt einem ja bekanntlich erst im Nachinein ein, aber gut daraus lerne ich ja und werde es beim nächsten mal anders machen...
Aber ich danke euch auf jedenfall, ich bin jetzt wieder im Zeitplan und kann mein Projekt hoffentlich ohne Druck fertig stellen.
Antworten