Puoi usare glob.iglob, che ritorna un iteratore e non una lista. # esempio1: for filename in os.listdir('.'): print filename
# esempio2: for filename in glob.iglob('.'): print filename la differenza tra esempio1 e esempio2 è che nel primo viene generata tutta la lista dei file nella directory (occupando memoria), mentre in esempio2 viene preso un file alla volta (con una occupazione di memoria minima). 2011/7/21 Marco Mariani <bir...@gmail.com>: > 2011/7/21 Filadelfo Fiamma <philosga...@gmail.com> > >> avrei una curiosità: >> esiste il modo di limitare il numero di elementi trovati da >> os.listdir? Se ho una cartella contenente 2 milioni d files, > > Comunque se hai una cartella cosi', tutti i programmi che ne fanno uso > avranno vantaggio dividendola in uno o due livelli di sottocartelle > possibilmente di dimensione confrontabile. Cosi' fanno i programmi che > devono gestire milioni di file di cache. > > Se i file non vengono rinominati, una buona idea potrebbe essere usare, come > nome delle sottocartelle, la prima parte dell'md5 del nome dei file che > andranno a contenere. > > > > _______________________________________________ > Python mailing list > Python@lists.python.it > http://lists.python.it/mailman/listinfo/python > > -- Giovanni Dall'Olio, phd student Department of Biologia Evolutiva at CEXS-UPF (Barcelona, Spain) My blog on bioinformatics: http://bioinfoblog.it _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python