Ciao ragazzi,
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, ho modo
di vedere soltanto i primi 500, una sorta di TOP(500)?
Ovviamente sto escludendo la soluzioni banale di eseguire os.listdir()[:500]!
2011/7/21 Filadelfo Fiamma
> esiste il modo di limitare il numero di elementi trovati da
> os.listdir? Se ho una cartella contenente 2 milioni d files, ho modo
> di vedere soltanto i primi 500, una sorta di TOP(500)?
> Ovviamente sto escludendo la soluzioni banale di eseguire
> os.listdir()[:50
2011/7/21 Filadelfo Fiamma
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 livell
Grazie :)
Si concordo appieno sul fatto che avere un unica enorme cartella non è
vantaggioso, per fortuna non mi è capitato ancora di avere a che fare
con delle directory così piene, ma era solo una mera discussione
"teorica"!
Comunque andrò a vedermi dettagliamente opendir(), readdir() e closedir
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 direct
2011/7/21 Giovanni Marco Dall'Olio
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).
>
Cosa succede dipende poi anche d
Giovanni Marco Dall'Olio wrote:
> 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
Bella idea!
Credo che per avere un comportamento più simil
Il giorno 21 luglio 2011 09:54, Giovanni Marco Dall'Olio <
dalloli...@gmail.com> ha scritto:
> 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 filenam
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Il 21/07/2011 09:54, Giovanni Marco Dall'Olio ha scritto:
> Puoi usare glob.iglob, che ritorna un iteratore e non una lista.
>
Attenzione che iglob è implementato usando os.listdir!
L'unica soluzione per avere una lista di directory lazy è usare
ope
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Il 21/07/2011 08:55, Filadelfo Fiamma ha scritto:
> Ciao ragazzi,
> 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, ho modo
> di vedere soltanto i primi
10 matches
Mail list logo