Seite 1 von 1
PyXML vs ElementTree
Verfasst: Donnerstag 31. Mai 2007, 21:06
von tumbili
Huhu
Ich möchte eine Baumstruktur aus meinem Programm sichern und laden können und habe dabei an eine XML-Datei gedacht. Nun habe ich bei meiner Suche zwei XML-Parser gefunden. PyXML und ElementTree. Gibt es irgendwo einen Vergleich oder könnt ihr mir kurz die Vor-/Nachteile beschreiben?
Ich denke die xml datei wird maximal 500kb groß und hat ca 4-5 Ebenen.
Soweit ich weiß ließt ElementTree die Datei immer komplett ein, und schreibt diese auch komplett. Bei PyXML gibt es mehrere Möglichkeiten oder? Sind 500kb für diese Methode schon zuviel?
Ich möchte allerdings auch Daten in der Mitte der Datei ändern bzw hinzufügen können. Da bleibt dann wohl keine andere Methode übrig oder sehe ich das falsch?
Danke schonmal für eure Hilfe

Verfasst: Donnerstag 31. Mai 2007, 21:11
von Y0Gi
ElementTree hat ein sehr schönes Interface und damit kannst du auch den Baum an jeder Stelle erweitern.
Re: PyXML vs ElementTree
Verfasst: Donnerstag 31. Mai 2007, 22:38
von Leonidas
tumbili hat geschrieben:Nun habe ich bei meiner Suche zwei XML-Parser gefunden. PyXML und ElementTree.
Dann schau mal in das modul ``xml``, dort findest du sogar Expat und minidom. Du kannst dir auch eigene Parser schrieben - macht aber keinen Spaß.
Mit den 500 kB sollte keiner der Methoden ein Problem haben. Am angenehmsten ist es sicherlich ETree zu nutzen - ab Python 2.5 ist auch das schon in der Stdlib.
Verfasst: Donnerstag 31. Mai 2007, 22:40
von tumbili
ok danke dann werd ich mir elementtree downlaoden

Verfasst: Donnerstag 31. Mai 2007, 22:43
von Leonidas
tumbili hat geschrieben:ok danke dann werd ich mir elementtree downlaoden

Hast du Python 2.5? Wenn ja, dann brauchst du das gar nicht zu tun. Wenn du nicht Python 2.5 hast, solltest du überlegen, darauf umzusteigen, denn dort sind einige Module in die Stdlib gekommen die ganz praktisch sind.
Verfasst: Donnerstag 31. Mai 2007, 22:48
von tumbili
Ich habe im Moment 2.4 installiert, weil ich gelesen habe dass pyInstaller noch nicht mit 2.5 funktioniert (habe es allerdings noch nicht getestet). Ist das richtig? Ich muss auf jeden fall mein Programm als exe ausliefern (wie viele dlls dann noch im ordner liegen ist egal

). Es wäre viel zu umständlich auf jedem Rechner python, wxpython, etc zu installieren.
Verfasst: Donnerstag 31. Mai 2007, 23:13
von Leonidas
tumbili hat geschrieben:Ich habe im Moment 2.4 installiert, weil ich gelesen habe dass pyInstaller noch nicht mit 2.5 funktioniert (habe es allerdings noch nicht getestet). Ist das richtig?
Nein. Auf der
PyInstaller-Homepage steht:
Multiversion: works under any version of Python since 1.5.. Außerdem funktionieren ja py2exe und cx_Freeze auch.
Verfasst: Freitag 1. Juni 2007, 06:26
von tumbili
unten steht aber:
"Requirements
PyInstaller works with any version of Python since 1.5 and up to 2.4. "
Aber wenn die anderen beiden Tools mit 2.5 funktionieren werd ich nochmal updaten

Verfasst: Freitag 1. Juni 2007, 10:07
von Leonidas
tumbili hat geschrieben:PyInstaller works with any version of Python since 1.5 and up to 2.4.
Ich denke das liegt einfach daran, dass seit Python 2.4 keiner Zeit gefunden hat, das zu aktualisieren. In der Regel ist Python sehr kompatibel, auf dem aktuellen Python läuft teilweise auch noch "uralter" Quellcode.