Untitled
unknown
plain_text
3 years ago
3.9 kB
5
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...