L'extraction d'une zipfile de la mémoire?
Comment puis-je extraire un zip sur la mémoire?
Ma tentative (de retour None
sur .getvalue()
):
from zipfile import ZipFile
from StringIO import StringIO
def extract_zip(input_zip):
return StringIO(ZipFile(input_zip).extractall())
- Voir aussi: stackoverflow.com/questions/5710867
Vous devez vous connecter pour publier un commentaire.
extractall
extraits pour le système de fichiers, afin de ne pas obtenir ce que vous voulez. Pour extraire un fichier en mémoire, utilisez laZipFile.read()
méthode.Si vous avez vraiment besoin de l'intégralité du contenu dans la mémoire, vous pourriez faire quelque chose comme:
Travaille souvent avec en mémoire les archives en Python 2 je voudrais vous recommandons de faire un outil. Quelque chose comme ceci:
Raisons probables:
1.Ce module n'a pas actuellement la poignée multi-disque de fichiers ZIP.
(OU)
2.Vérifiez auprès de StringIO.getvalue() météo Unicode Erreur est à venir.
extractall
ne retourne rien (bien,None
par défaut), et c'est ce qu'il obtient.