2014-09-01 13 views
5

sto provando a scrivere un python-script, che dovrebbe estrarre un file zip:modulo Python ZipFile estrae protetti da password zip lentamente

Consiglio: Beagle-Bone nero ~ 1GHz Arm-Cortex-a8, Debian wheezy Zipfile: /home/milo/my.zip, ~ 8 MB

>>> from zipfile import ZipFile 
>>> zip = ZipFile("/home/milo/my.zip") 
>>> zip.extractall(pwd="tst") 

altre soluzioni con apertura e lettura-> scrivere il file zip ed estrarre anche lo specifico file ha lo stesso effetto. l'estrazione dura circa 3-4 minuti.

L'estrazione dello stesso file con l'utilizzo di unzip-tool richiede meno di 2 secondi.

Qualcuno sa cosa è successo con il mio codice, o anche con python zipfile lib ??

Grazie Ajava

+0

Influisce sulla velocità di estrazione se lo zip è protetto da password o no? –

+0

no, se lo stesso file zip non è protetto da password, lo stesso codice estrae tutto velocemente come unzip do !!!!! –

+1

Anche sul mio PC (i5, 8GB RAM, Debian Wheezy) l'estrazione di un zipfile protetto da password da 30 MB tramite Python richiede più di 1 minuto !! –

risposta

4

Questo sembra essere un problema documentato con il modulo ZipFile in Python 2.7. Se si guarda al documentation for ZipFile, si parla chiaramente:

decrittografia è estremamente lento come è implementato in Python nativo piuttosto che C.

Se avete bisogno di prestazioni più veloci, è possibile richiamare un un programma esterno (come unzip o 7zip) dal tuo codice, o assicurati che i file zip con cui stai lavorando non siano protetti da password.

+0

ho letto il documento ma ho trascurato questa linea !! Grazie –

Problemi correlati