<div dir="ltr"><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Salve a tutti,</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">
<br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">mi sono imbattuto in uno strano problema e non capisco dove stia sbagliando.</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">
<br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">In sintesi:</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br>
</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">sto sviluppando un piccolo programma che controlla lo stato della memoria RAM di un sistema operativo, schedulato ogni tot minuti.</div>
<div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Ho creato un dizionario dove ho come chiavi il tempo attuale rilasciato da time.time() e come valore la memoria ram occupata dal sistema (valore ottenuto con i relativi moduli di psutils).</div>
<div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">I dati memorizzati in questo dizionario li salvo e li recupero ciclicamente in un file creato con il modulo shelve.</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">
E fin qui i test sono andati bene.</div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Poi ho pensato: voglio che ogni 100 valori registrati lo script mi scriva l'ora e il valore massimo raggiunto della RAM in un file di testo.</div>
<div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default" style="font-family:'times new roman',serif;font-size:large">Mi sono scritto così una funzione per calcolare il valore massimo in un dizionario (forse ci sono altri metodi, ma al momento ho reinventato la ruota per esercizio ...)</div>
<div class="gmail_default" style="font-family:'times new roman',serif;font-size:large"><br></div><div class="gmail_default"><div class="gmail_default"><font face="times new roman, serif" size="4">def max_dict(d):</font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"> v_max = 0</font></div><div class="gmail_default"><font face="times new roman, serif" size="4"> k_max = 0</font></div><div class="gmail_default">
<font face="times new roman, serif" size="4"> for i in d.keys():</font></div><div class="gmail_default"><font face="times new roman, serif" size="4"> if d[i] > v_max:</font></div><div class="gmail_default"><font face="times new roman, serif" size="4"> v_max = d[i]</font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"> k_max = i</font></div><div class="gmail_default"><font face="times new roman, serif" size="4"> return k_max, v_max</font></div><div class="gmail_default">
<font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4">e poi scrivevo i due valori ottenuti nel file di testo, convertendo la chiave rappresentante il valore espresso in secondi con time.localtime() e formattando i valori ottenuti.</font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4">Purtroppo mi sono reso conto che dopo l'elaborazione dei dati nella funzione max_dict(), i valori relativi alla data e ora sono completamente sballati, come se max_dict() operasse qualche modifica.</font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4">Così invece di ottenere data e ora di oggi ottengo:</font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4"><div class="gmail_default">2003115192256 1018.6 MB</div><div class="gmail_default">
2003115192256 1018.6 MB</div><div class="gmail_default">2003115192256 1018.6 MB</div><div class="gmail_default">2003115192256 1018.6 MB</div><div class="gmail_default">2003115192256 1018.6 MB</div><div class="gmail_default">
200311785544 1018.7 MB</div><div class="gmail_default">200311785544 1018.7 MB</div><div class="gmail_default">2006730161944 1.1 GB</div><div class="gmail_default">2006730161944 1.1 GB</div></font></div>
<div class="gmail_default"><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4">Dove sto sbagliando secondo voi?</font></div><div class="gmail_default">
<font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><font face="times new roman, serif" size="4"><br></font></div><div class="gmail_default"><br></div></div><div>.m<div><br></div><div>
.Massimo .Capanni</div><div><br></div>
<div><span style="line-height:19.196969985961914px;font-size:12.727272033691406px;font-family:sans-serif">σπευδε βραδεως</span><br></div></div>
</div>