Also ich habe mir ein script geschrieben, welches leere ordner und unterordner löscht, sowie dateien die eine bestimmte zeit nicht benutzt wurden und eine angegebene größe unterschreiten.
Dazu habe ich mit dem linux konsolen programm tree eine datei erstellt in der "dateigröße änderungsdatum pfadzurdatei"
steht. Diese dann mit meinem script ausgewertet. Die problematik war, dass sich die einzulesene sowie die script datei selbst gelöscht haben beim ausführen (wenn kein änderungsdatum angegeben).
Deshalb wollte ich die beiden einträge aus der Liste löschen.
Sicherlich nicht der einfachste weg und ganz sicher nicht der Schönste. Inzwischen weiß ich auch dass es python intern befehle gibt die informationen über pfade und ordner/dateien auslesen können, um den umweg über "tree" nicht machen zumüssen. Außerdem wäre es dann plattformunabhängig.
Hyperion hat geschrieben:
Besser wäre doch so etwas:
Code: Alles auswählen
fileinfos = [("foo.txt", "10KB"), ("bar.txt", "20MB")]
Dort könnest Du dann tatsächlich auf den exakten Vergleich mit den Namen gehen!
Ah ok ich habe das Kapitel mit den Dictionarys gleich in zwei büchern durchgearbeitet mir ist aber nicht in den sinn gekommen, sie hier zu benutzen. Jetzt ist mir klar, dass man sie nicht nur als Lexikon oder Adressbuch benutzen kann;) Danke. Aber als Übung werde ich diesen Ansatz eventuell nochmal durchgehen.
BlackJack hat geschrieben:
Code: Alles auswählen
def index_contains(needle, haystack):
for i, item in enumerate(haystack):
if needle in item:
return i
raise ValueError('not contained in any element')
Das klingt aber alles ein wenig komisch. Was ist denn das *eigentliche* Problem welches gelöst werden soll?
Komisch klingt es warscheinlich vorallem deshalb, weil ich nicht den elegant üblichen weg gehe meine idee umzusetzen. Mangels Erfahrung
. Aber deine funktion ist genau die die ich gesucht habe. Danke es funktioniert
Ich werde wenn ich Zeit hab das Programm vlt. nochmal umschreiben ohne "tree" und mit Dictionary
Vielen Dank für die schnelle Hilfe
lg Sarbot
-solved-