Hm... da ist einiges eher unschön.
- Code auf Modulebene! Wieso gibt es keine main-Funktion, in der Dinge wie CLI-Pasring betrieben und dann die zentrale(n) Funktionen aufgerufen werden? So in der Art:
Code: Alles auswählen
def main():
# parse command line params
# call ``clean()`` with given (or default) arguments
if __name__ == "__main__":
main()
- er werden Objekte an Namen gebunden, die man nicht noch einmal benötigt; das kann man dann oftmals kompakter und dennoch lesbar ausdrücken:
Code: Alles auswählen
curtime = time.time()
difftime = curtime - ftime
# wird zu:
difftime = time.time() - ftime
- Wieso wird ein Fehler suggeriert, wenn eine Datei jünger als eine Woche ist? :K
- Die Ausgaben würde ich auch eher optional ("-v") und ggf. auch mit dem ``logging``-Modul gestalten.
- Die Formatierung widerspricht an einigen Stellen PEP8:
Code: Alles auswählen
# falsch mit Leerzeichen zwischen Name und Parameterklammer
print ("hallo")
# richtig ohne Leerzeichen
print("hallo")
# falsch ohne Leerzeichen nach dem trennenden Komma
fullpath=os.path.join(root,file)
# richtig
fullpath=os.path.join(root, file)
- Was soll das ``exit`` am Schluss der inneren Schleife? Das bewirkt nichts, außer einen ``NameError`` auszulösen - meinst Du ``sys.exit``? Falls ja, muss man ein Callable auch *aufrufen* und nicht nur den Namen hinschreiben
Wobei sich mir der Sinn verschließt, an dieser Stelle das Programm zu beenden!
- zu viele "Magic Numbers": Wieso ist der Pfad fix vorgegeben? Wieso die Zeitspanne? Das sollte man als Parameter an eine Funktion übergeben können und von außen sogar als Command Line Parameter. (Du kannst Modul global natürlich default-Werte hinterlegen - bei der Zeit mag das evtl. sinnvoll sein)
- last but not least: Bitte benutze für Python-Code auch die Python-Code-Tags! Das gilt zwar auch generell, aber speziell bei der Präsentation der eigenen Arbeit im Snippet- und Showcase-Forum erachte ich das als Selbstverständlichkeit