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

[Python] Numero to byte

2011-01-11 Per discussione 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 array, dizionario o altro... non importa):