Ralph Brugger: > > removeattachments.py Insgesamt hübsch geworden! Kurze Codekritik: > # Sub: Treewalker Hast Du mal VBA programmiert? ;-) > # Gibt es zu loeschende Parts ? > if part.get_content_type() != "text/plain" and > part.get_content_type() != "multipart/mixed" and part.get_content_type() > != "multipart/signed": Solche langen Bedingungen kann man auch gern mal als eigene Funktion definieren. Da Du das zwei Mal brauchst, ist das hier IMHO auch gerechtfertigt. > doremove = 1 Python kennt seit einiger Zeit echte boolsche Typen (True, False), die sollte man benutzen, wenn man wirklich nur die zwei Werte braucht. > echoheader = "" > echoheader += "Datei: " > echoheader += filex > echoheader += "\n" > echoheader += " Groesse: %d kB" % sizekb > echoheader += " > %d kB\n" % minsize > echoheader += " Alter: %d" % daysold > echoheader += " > %d Tage\n" % minalter So eine Stringverkettung ist oft böse, weil (wie in Java) jedes Mal ein neues String-Objekt erzeugt wird. Mit Multilinestrings und Stringformatierung sieht das IMHO auch etwas schöner aus (und geht schneller, wenn man das sehr, sehr oft macht): echoheader = \ """Datei: %(filex) Groesse: %(sizekb) > %(minsize) Alter: %(daysold) > %(minalter) """ % locals() locals() gibt ein Dictionary mit den lokal definierten Variablen zurück. > if len(sys.argv) != 5: Wenn man eine etwas komplexere Aufrufsyntax hat, lohnt schnell ein Blick auf das Modul optparse: <http://docs.python.org/lib/module-optparse.html> Ist etwas aufwändig zu benutzen, aber dann funktioniert auch alles sehr schön und man bekommt ein paar Sachen quasi umsonst (vor Allem eine brauchbar formatierte "usage"). J. -- I like my Toyota RAV4 because of the commanding view of the traffic jams. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Attachment:
signature.asc
Description: Digital signature