2012-12-17 11 views
15

Sto creando un programma in Python che scarica un set di file e li inserisce in un archivio con il modulo zipfile.Come si elimina o sostituisce un file in un archivio zip?

Ho già scoperto come aggiungere all'archivio, ma ci sono casi in cui i file nell'archivio esistono già e dovrebbero essere sovrascritti.

Attualmente, se aggiungo un file già esistente all'archivio, ottengo un duplicato.

Qualcuno sa come eliminare un file in un archivio?

+1

possibile duplicato del [Elimina file dal file zip con il modulo ZipFile] (http://stackoverflow.com/questions/513788/delete-file-from-zipfile-with- the-zipfile-module) –

risposta

12

Da http://docs.python.org/2/library/zipfile

ZipFile.namelist() 
Return a list of archive members by name. 

quindi è banale per entrare in possesso della lista membri prima di aggiungere al file e l'esecuzione di un'operazione di controllo contro l'elenco dei membri esistenti all'interno dell'archivio.

Inoltre: la rimozione da un file ZIP non è supportata. È necessario scrivere un nuovo archivio se necessario e copiare su file esistenti ed omettere il file da rimuovere.

Vedi anche

Delete file from zipfile with the ZipFile Module

+1

Penso che la libreria zipfile sia molto limitata se non supporta la rimozione e la sovrascrittura di file in un file ZIP. – shailenTJ

+0

@shailenTJ, lo è. –

Problemi correlati