Seite 1 von 1

Kleines Problem mit Script

Verfasst: Mittwoch 25. September 2013, 10:16
von mimocloud
Moin,

ich sags mal sofort herraus! Ich bin ein total noob ;)
Ich hab am coding nicht gerade viel Spaß und versuche es auch möglichst zu umgehen...
Allerdings musste ich hier dennoch was Schreiben:

Code: Alles auswählen

import sys, os, time
path="/home"
for root, subFolders, files in os.walk(path):
    for file in files:
        fullpath=os.path.join(root, file)
        ftime = os.path.getmtime(fullpath)
        print (fullpath)
        curtime = time.time()
        difftime = curtime - ftime
        if difftime > 4838400: ##in sek.
            os.remove(fullpath)
        else:
            print("Probleme bei der Ausfuerung. Datei Ist evtl. noch zu neu!")
            break
Mit dem Script muss ich einige veraltete Uploads aus dem Home-Ordner platt machen!
Ich komme komischerweise immer bis in die Else Anweisung rein! Also die Meldung innerhalb der Else Anweisung wird mir immer ausgegeben, vollkommen egal ob if zutrifft oder nicht!

Wäre für Hilfe sehr dankbar!

Re: Kleines Problem mit Script

Verfasst: Mittwoch 25. September 2013, 11:09
von mutetella
mimocloud hat geschrieben:Also die Meldung innerhalb der Else Anweisung wird mir immer ausgegeben, vollkommen egal ob if zutrifft oder nicht!
Wenn die Meldung ausgegeben wird, dann ist `difftime` größer 4838400. Setz' doch einfach mal ein debug-print wie z. B.

Code: Alles auswählen

print 'curtime {0} - ftime {1} = difftime {2}'.format(curtime, ftime, difftime)
vor die `if`-Abfrage. Dann siehst Du, ob die Werte überhaupt dem entsprechen, was Du erwartest...

mutetella

Re: Kleines Problem mit Script

Verfasst: Mittwoch 25. September 2013, 11:10
von BlackJack
@mimocloud: Wenn Du im ``else``-Zweig landest, dann war die Bedingung vom ``if`` nicht erfüllt. Es kann nicht sein dass die Bedingung dort zutrifft und Du trotzdem im ``else`` landest.

Sind 56 Tage denn das was Du wolltest? Und dir ist klar dass die Dateien in jedem Ordner nur bis zur ersten Datei abgearbeitet werden bis die Bedingung nicht zutrifft, wegen dem ``break``!?

Re: Kleines Problem mit Script

Verfasst: Mittwoch 25. September 2013, 13:01
von mimocloud
Die Sache mit dem Brake war mir nicht klar!
Diese sollte ich also rausnehmen oder???
Ich will ja das er durch alle Ordner + Unterordner usw. Durchläuft und jede Datei platt macht die älter als x tage ist!

das hier habe ich jetzt als Ausgabe zurück bekommen:

Code: Alles auswählen

/home/MVV/KH_zu_Kunde/Lizenzen/MOF20130912.zip
curtime 1380110275.68 - ftime 1378985203.49 = difftime 1125072.19618
/home/kiel/Kunde_zu_KH/2013-09-12_Testdump/KD_KIEL_T_2013-09-12.exe
curtime 1380110275.68 - ftime 1379074701.0 = difftime 1035574.68397
/home/evi/Kunde_zu_KH/nts_suite_navision_backup_2013_09_19.rar
curtime 1380110275.68 - ftime 1379611797.0 = difftime 498478.684188
/home/evi/KH_zu_Kunde/KH FirstNet v6.22.17.45216 - RegFree.exe
curtime 1380110275.68 - ftime 1379087423.0 = difftime 1022852.68433
/home/evi/KH_zu_Kunde/23092013/KD_EVI_FN_PROD_20130923_1517.zip
curtime 1380110275.68 - ftime 1379942888.0 = difftime 167387.684433
/home/evi/KH_zu_Kunde/Backup SQL Datenbank Navision/Backup SQL Datenbank Navision.rar
curtime 1380110275.69 - ftime 1377851611.5 = difftime 2258664.18586
/home/evi/KH_zu_Kunde/DELTAMIG/KD_EVI_FN_PROD_20130916_931_VOR_AUSLIEFERUNG.DMP
curtime 1380110275.69 - ftime 1379316925.0 = difftime 793350.685499

Re: Kleines Problem mit Script

Verfasst: Mittwoch 25. September 2013, 18:37
von mutetella
@mimocloud: Und wo liegt jetzt das Problem? Keine der berührten Dateien scheint älter als 56 Tage zu sein....

Wobei mir Deine Ausgabe etwas Angst macht... willst Du z. B. auch Programmdateien löschen?

mutetella