Untitled
unknown
plain_text
3 years ago
3.9 kB
4
Indexable
import os D={} fascia1 = 0 fascia2 = 0 fascia3 = 0 files = os.listdir(r"/home/marco/Scrivania/file_test_ise/registri_chiamate/.") for file in files: lista = file.split("-") D[lista[0]] = D.get(lista[0],[]) + [lista[1]] for chiave in sorted(D): for mese in sorted(D[chiave]): nomeFile = "%s-%s" % (chiave,mese) for line in open(r"/home/marco/Scrivania/file_test_ise/registri_chiamate/%s" % nomeFile, "r"): dati = line.split(" ") start = dati[2].split(".") end = dati[3].split(".") oraStart = start[0] oraStart = int(oraStart) minutiStart = start[1] minutiStart = int(minutiStart) oraEnd = end[0] oraEnd = int(oraEnd) minutiEnd = end[1] minutiEnd = int(minutiEnd) if oraStart < 8 and oraEnd < 8: #l'intera chiamata in fascia 1 fascia1 += ((oraEnd - oraStart)*60 + minutiEnd + (60 - minutiStart)) elif 8 < oraStart < 16 and 8 < oraEnd < 16:#l'intera chiamata è in fascia 2 fascia2 += ((oraEnd - oraStart)*60 + minutiEnd + (60 - minutiStart)) elif 16 < oraStart < 24 and 16 < oraEnd < 24:#l'intera chiamata è in fascia 3 fascia3 += ((oraEnd - oraStart)*60 + minutiEnd + (60 - minutiStart)) elif oraStart < 8 and 8 < oraEnd < 16:# la chiamata è tra la prima e la seconda fascia fascia1 += ((8 - oraStart)*60 + (60 - minutiStart)) fascia2 += ((oraEnd - 8)*60 + minutiEnd) elif 8 < oraStart < 16 and 16 < oraEnd < 24:#la chiamata è tra la seconda e la terza fascia fascia2 += ((16 - oraStart)*60 + (60 - minutiStart)) fascia3 += ((oraEnd - 16)*60 + minutiEnd) elif 16 < oraStart < 24 and oraEnd < 8:#la chiamata è tra la terza e la prima fascia fascia3 += ((24 - oraStart) + (60 - minutiStart)) fascia1 += ((oraEnd)*60 + minutiEnd) elif oraStart < 8 and 16 < oraEnd < 24:#la chiamata è tra la prima e la terza fascia fascia1 += ((8 - oraStart)*60 + (60 - minutiStart)) fascia2 += ((16 - 8)*60) fascia3 += ((oraEnd - 16) + minutiEnd) elif 8 < oraStart < 16 and oraEnd < 8:#la chiamata è tra la seconda e la prima fascia fascia2 += (16 - oraStart)*60 + (60 - minutiStart) fascia3 += (24 -16)*60 fascia1 += (oraEnd)*60 + minutiEnd elif 16 < oraStart < 24 and 8 < oraEnd < 16:#la chiamata è tra la terza e la seconda fascia fascia3 += (24 - oraStart)*60 + (60-minutiStart) fascia1 += (8-0)*60 fascia2 += (oraEnd - 8)*60 + minutiEnd #ritengo improbabili chiamate superiori alle 24 try: fileOutput = open(r"/home/marco/Scrivania/file_test_ise/registri_chiamate/%s.log" % chiave, "a") except: print("Errore nell'apertura del file di Output") numMese = mese.split(".") numMese = numMese[0] fileOutput.write("Mese: %s\n" % numMese) fileOutput.write("Minuti effettuati in fascia 1 [00.00 - 07.59]: %d\n" % fascia1) fileOutput.write("Minuti effettuati in fascia 2 [08.00 - 15.59]: %d\n" % fascia2) fileOutput.write("Minuti effettuati in fascia 3 [16.00 – 23.59]: %d\n" % fascia3) fileOutput.close()
Editor is loading...