Auch wenn Python eine sehr einfache Programmiersprache im Gegensatz zu komplizierten Monstern wie C++ ist, machen auch Python-Programmierer mal einen Fehler. Da kann eine Programmiersprache noch so einfach und elegant sein. Wir sind alle nur Menschen. Zum Glück gibt es aber auch Tools, die einem das Ganze leichter machen. Neben Editoren und Entwicklungsumgebungen (IDEs) gibt es für Python-Fans noch weitere interessante Werkzeuge, um Fehler im eigenen Quellcode zu finden. Eines davon finden Sie in den nachfolgendes News. Und auch sonst stellen ich Ihnen wieder Interessantes aus der Python-Welt vor.
PyLint
C-Programmierer kennen wahrscheinlich das Werkzeug lint, welches im C-Code nach Fehlern sucht, die der Compiler nicht meldet. Dadurch lassen Sie z.B. Memory Leaks in C-Programmen vermeiden. Nun gibt es von logilab PyLint, welches eine Vielzahl von möglichen Fehler im Python-Code aufspüren kann. Im Gegensatz zu dem ähnlichen Pychecker [1] soll PyLint noch mehr Features bieten und besser konfigurierbar sein. Auch kann es durch Plugins erweitert werden. [2]
xmldiff
Dass Python für die XML-Verarbeitung eine der besten Programmiersprachen ist, ist ja schon lange kein Geheimnis mehr. Jetzt kommt wieder ein kleines, aber manchmal nützliches Werkzeug hinzu. Mit xmldiff kann man den Unterschied zwischen zwei ähnlichen XML-Dateien herausfinden, ähnlich zum bekannten Unix-Tool diff. Das Ganze stammt wie das schon erwähnte PyLint von logilab. [3]
Zope Object Database (ZODB) 3.2
Zope ist wohl den meisten ein Begriff. Es hat mittlerweile eine große Fangemeinde und Python viele neue Fans gebracht. Ein Teil von Zope ist dessen Objektdatenbank ZODB. Diese kann auch unabhängig von Zope verwendet werden, um Python-Objekte persistent zu speichern. Die neue Version soll die Konfiguration und das Management von ZODB verbessern. Wehr seine Python-Objekte persistent halten möchte, sollte sich ZODB mal näher anschauen. [4]
DateUtil
Dieses Modul enthält eine Vielzahl von nützlichen Erweiterungen für Pythons Standard-Datetime-Modul. Es können z.B. solche Dinge ausgerechnet werden wie die letzte Woche im letzten Monat, das Ausrechnen vom Ostersonntag für jedes beliebige Jahr, das Parsen von Datum-Strings in vielen verschiedenen Formaten und vieles mehr. Wer viel mit Datumberechnungen zu tun hat, wird daran seine Freude haben. [5]
XMLFilter
XMLFilter stellt eine XML-Parser zur Verfügung der mit xml.sax kompatibel ist. Mithilfe von abgeleitete Klassen von XMLFilter kann man eigene Filter zum Ausfiltern von bestimmten Inhalten erstellen. Auch kann der Inhalt von XML-Dokumenten verändert oder gelöscht werden bzw. es kann auch neuer Inhalt hinzugefügt werden. Das Ganze eröffnet viele interessante Möglichkeiten für die Verarbeitung von XML-Dateien.
DOMForm
Mit diesem Modul kann man u.a. Webanwendungen testen. Man kann z.B. auf einfache Weise HTML-Formulare parsen, ausfüllen und dann an den Webserver zurückschicken. Auch mit JavaScript in den Seiten soll DOMForm zurechtkommen. Das Ganze ersetzt natürlich keine Personen, die Webanwendungen testen, aber einiges lässt sich dadurch bestimmt automatisieren. [7]
Mock-Objekte in Python
Mock-Objekte sind aus dem Bereich Unit Testing bekannt. Näheres dazu findet man z.B. unter [8]. Wer Mock-Objekte unter Python nutzen möchte, kann jetzt auf eine neues Modul dafür zurückgreifen. Das Ganze ist noch in der Entwicklung und unter [9] zu finden.
scons
scons ist ein Make-Ersatz. Es unterstützt u.a. Java, C und C++. Die Konfigurationsdateien sind Python-Skripte, was das Ganze wohl deutlich lesbarer machen dürfte als Makefiles.
Markus Jais ist Softwareentwickler. In seiner Freizeit trifft er sich mit Freunden, geht Wandern und beschäftigt sich mit Ruby, Perl, Python, Java, PHP, XML, MySQL, PostgreSQL und lernt Spanisch und Französisch. Im Internet ist er unter www.mjais.de/ zu finden.
Links