Re: [Python] Numero to byte

2011-01-12 Per discussione Andrea Ambu
2011/1/12 Marco Mariani : > va bene tutto purche' smettiate di ridefinire la builtin 'bytes'... :-) > Ma dai, mi pare difficile che ci sia bisogno di utilizzarla in un eventuale refactor di quella funzione :P -- Andrea ___ Python mailing list Python@

Re: [Python] Numero to byte

2011-01-12 Per discussione Marco Mariani
va bene tutto purche' smettiate di ridefinire la builtin 'bytes'... :-) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] Numero to byte

2011-01-12 Per discussione Stefano Dal Pra
Ciao, io propongo questo: import math u='KMGTP' #faccio una lista di numeri fino a 10**15 L=[3.14159 * 10**n for n in range(15)] for x in L: n=int(math.log(x,1000)) k=n x1=x/(10**(3*k)) print "%s %.1f %s"%(x,x1,u[k]+'B') Che da come output: >>> for x in L: ... n=int(math.log

Re: [Python] Numero to byte

2011-01-12 Per discussione Stefano Dal Pra
2011/1/11 Vittorio Zuccala' > Buongiorno a tutti, > vi scrivo su un parere su un algoritmo... > Ho un file con una serie di numeri che in qualche modo recupero. > Questi numeri rappresentano byte, Kb, Mb, Gb, Tb... > Vorrei trasformarli in modo leggibile. > Ad esempio (posso immagazzinarli in un

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
def f( bytes, factor, labels, precision ): for i, label in enumerate(labels,1): if (bytes < factor ** i) or (label == labels[-1]): return '%.*lf %s' % (precision, bytes / factor ** (i-1), label) Dipende a cosa ti serve. Se è solo per 1024 e per i file, quella di Django va

Re: [Python] Numero to byte

2011-01-12 Per discussione Marcello
Massi`, pero` il codice qui (cito Nicola, 6a mail di questo thread) http://code.djangoproject.com/browser/django/trunk/django/template/defaultfilters.py#L794 lo trovo piu` leggibile. (Esplicito e` meglio che implicito ecc... ) Opinioni personali, eh :) On Wed, Jan 12, 2011 at 1:54 PM, Andrea Amb

Re: [Python] Numero to byte

2011-01-12 Per discussione Andrea Ambu
Pythonese def human_from_bytes(bytes, factor=1024., labels=['B', 'KiB', 'MiB', 'GiB',\ 'TiB', 'PiB'], precision=2): index = 0 while 1. * bytes / factor**index > factor and index < len(labels)-1: index += 1 re

Re: [Python] Numero to byte

2011-01-12 Per discussione Daniele Varrazzo
On Wed, 12 Jan 2011 12:29:32 +0100, Lorenzo Sutton wrote: > lordkrandel wrote: >> On 12/01/2011 11.29, lordkrandel wrote: >> >> return ('%.' + str(precision) + 'lf %s') % (bytes * factor >> / n, label) > Una cosa importante è che bytes * factor / n lavori con float, > al

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
On 12/01/2011 12.25, lordkrandel wrote: > def f( bytes, factor, labels, precision ): > for i, label in enumerate(labels,1): > n = factor ** i > if (bytes< n) or (label == labels[-1]): > return ('%.*lf %s') % (precision, bytes * factor / n, label) > def f_test()

Re: [Python] Numero to byte

2011-01-12 Per discussione Lorenzo Sutton
lordkrandel wrote: On 12/01/2011 11.29, lordkrandel wrote: return ('%.' + str(precision) + 'lf %s') % (bytes * factor / n, label) Una cosa importante è che bytes * factor / n lavori con float, altrimenti se viene immesso bytes e factor interi la divisione sarà intera. Credo che b

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
On 12/01/2011 12.15, Daniele Varrazzo wrote: > On Wed, 12 Jan 2011 12:02:57 +0100, lordkrandel > wrote: >> for n, label in map( lambda k: ( factor**k[0], k[1] ), >> enumerate(labels,1) ): > > Forse sarebbe meglio > for i, label in enumerate(labels, 1): > n = factor ** i >

Re: [Python] Numero to byte

2011-01-12 Per discussione Daniele Varrazzo
On Wed, 12 Jan 2011 12:02:57 +0100, lordkrandel wrote: > for n, label in map( lambda k: ( factor**k[0], k[1] ), > enumerate(labels,1) ): Forse sarebbe meglio for i, label in enumerate(labels, 1): n = factor ** i ... Se leggi

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
On 12/01/2011 11.29, lordkrandel wrote: > Il bugfix è veloce, ci penso un po' su e lo scrivo meglio quando ho un > attimo. def f( bytes, factor, labels, precision ): # costruisco una tupla di tuple ( limite massimo, etichetta ) # prima faccio l'enumerazione delle etichette, poi faccio fa

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
On 12/01/2011 11.17, enrico franchi wrote: > Scusa, ma a me viene solo da dire "readability counts". Era un esercizio. Ho 26 anni, non voglio fare da maestro a nessuno :) Gli if possono essere ripetuti, certo, ma anche meglio 1024 * 1024 --> 1024 ** 2 Il bugfix è veloce, ci penso un po' su

Re: [Python] Numero to byte

2011-01-12 Per discussione enrico franchi
On Wed, Jan 12, 2011 at 11:09 AM, lordkrandel wrote: > # Bugfix, non ritornava per quelli sopra i 1024 PiB Scusa, ma a me viene solo da dire "readability counts". Al di la della correttezza quel codice e' IMHO inutilmente criptico. Sono sicuro che e' stato molto divertente da scrivere, pero' il s

Re: [Python] Numero to byte

2011-01-12 Per discussione Lorenzo Sutton
lordkrandel wrote: #On 11/01/2011 15.00, Lorenzo Sutton wrote: #> def bytesToHuman (b,factor=1024.): #> units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'] #> for i in xrange (1,len (units)+1): #> if b< factor ** i or i>= len(units): #> return ('%.1f %s') % ((b/(factor **(i-1))),uni

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
# Bugfix, non ritornava per quelli sopra i 1024 PiB def f( bytes, factor=1024, labels=['', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi'], precision=4 ): for x,y in map( lambda x: ( factor**(x[0]+1), ('%.' + str(precision) + 'lf %sB') % (bytes / factor**x[0], x[1

Re: [Python] Numero to byte

2011-01-12 Per discussione lordkrandel
#On 11/01/2011 15.00, Lorenzo Sutton wrote: #> def bytesToHuman (b,factor=1024.): #> units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'] #> for i in xrange (1,len (units)+1): #> if b < factor ** i or i >= len(units): #> return ('%.1f %s') % ((b/(factor **(i-1))),units[i-1]) # # Che ne dici

Re: [Python] Numero to byte

2011-01-12 Per discussione Nicola Larosa
>> Vittorio Zuccala' wrote: >>> vi scrivo su un parere su un algoritmo... Secondo voi c'è un modo >>> più elegante o meno "dispendioso"? > Nicola Larosa wrote: >> Secondo gli sviluppatori di Django, no: >> >> http://code.djangoproject.com/browser/django/trunk/django/template/defaultfilters.py#L794

Re: [Python] Numero to byte

2011-01-12 Per discussione Marco Beri
2011/1/11 Nicola Larosa > Vittorio Zuccala' wrote: > > vi scrivo su un parere su un algoritmo... > > Secondo voi c'è un modo più elegante o meno "dispendioso"? > > Secondo gli sviluppatori di Django, no: > > > http://code.djangoproject.com/browser/django/trunk/django/template/defaultfilters.py#L7

Re: [Python] Numero to byte

2011-01-11 Per discussione Lorenzo Sutton
Ciao, Daniele Varrazzo wrote: On Tue, 11 Jan 2011 12:29:32 +0100, "Vittorio Zuccala'" wrote: Buongiorno a tutti, vi scrivo su un parere su un algoritmo... Ho un file con una serie di numeri che in qualche modo recupero. Questi numeri rappresentano byte, Kb, Mb, Gb, Tb... Vorrei trasformarli i

Re: [Python] Numero to byte

2011-01-11 Per discussione Nicola Larosa
Vittorio Zuccala' wrote: > vi scrivo su un parere su un algoritmo... > ... > Secondo voi c'è un modo più elegante o meno "dispendioso"? Secondo gli sviluppatori di Django, no: http://code.djangoproject.com/browser/django/trunk/django/template/defaultfilters.py#L794 -- Nicola Larosa - http://www

Re: [Python] Numero to byte

2011-01-11 Per discussione Andrea Ambu
2011/1/11 lordkrandel : > Oddio... ma da quando è cambiato O.o '''?? > Gennaio 1999 http://en.wikipedia.org/wiki/Kibibyte#cite_note-1 -- Andrea ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python

Re: [Python] Numero to byte

2011-01-11 Per discussione lordkrandel
Oddio... ma da quando è cambiato O.o '''?? Dicono che 1024 Bytes è un "KibiByte" E un KiloByte è 1000 Bytes? CHIBI CHE??? Perplesso... Vabbè, il SI non ha capito niente. Era meglio prima. Userò i KibiByte. On 11/01/2011 12.47, lordkrandel wrote: On 11/01/2011 12.29, Vittorio Zuccala' wrot

Re: [Python] Numero to byte

2011-01-11 Per discussione lordkrandel
On 11/01/2011 12.29, Vittorio Zuccala' wrote: Questi numeri rappresentano byte, Kb, Mb, Gb, Tb... Vorrei trasformarli in modo leggibile. 172183142400=>172,1Gb 250057060352=>250,0Gb 132450=>132,4Kb O.o'' ... Se devi dividere, già che ci sei dividi per 1024!! 1 TB = 1024 GBs 1 GB = 1024 MBs 1 MB

Re: [Python] Numero to byte

2011-01-11 Per discussione Daniele Varrazzo
On Tue, 11 Jan 2011 12:29:32 +0100, "Vittorio Zuccala'" wrote: > Buongiorno a tutti, > vi scrivo su un parere su un algoritmo... > Ho un file con una serie di numeri che in qualche modo recupero. > Questi numeri rappresentano byte, Kb, Mb, Gb, Tb... > Vorrei trasformarli in modo leggibile. > Ad es