eine zip-Datei herunterladen auf ein lokales Laufwerk und extrahieren Sie alle Dateien in einen Zielordner mit python 2.5
Ich versuche eine zip-Datei herunterladen auf ein lokales Laufwerk und extrahieren Sie alle Dateien in einen Zielordner.
also muss ich kommen mit Lösung, aber es ist nur auf "herunterladen" einer Datei von einem Verzeichnis in ein anderes Verzeichnis, aber es funktioniert nicht für das herunterladen von Dateien. für die Gewinnung, ich bin in der Lage, get it to work in 2.6, aber nicht für 2.5. also, irgendwelche Vorschläge für die Arbeit oder einen anderen Ansatz, ich bin auf jeden Fall offen.
vielen Dank im Voraus.
######################################
'''this part works but it is not good for URl links'''
import shutil
sourceFile = r"C:\Users\blueman\master\test2.5.zip"
destDir = r"C:\Users\blueman\user"
shutil.copy(sourceFile, destDir)
print "file copied"
######################################################
'''extract works but not good for version 2.5'''
import zipfile
GLBzipFilePath =r'C:\Users\blueman\user\test2.5.zip'
GLBextractDir =r'C:\Users\blueman\user'
def extract(zipFilePath, extractDir):
zip = zipfile(zipFilePath)
zip.extractall(path=extractDir)
print "it works"
extract(GLBzipFilePath,GLBextractDir)
######################################################
InformationsquelleAutor marcus | 2009-11-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
das urllib.urlretrieve kann man eine Datei (zip oder anderes;-) von einer URL zu einem bestimmten Pfad.
extractall
ist in der Tat neu in 2.6, aber mit 2,5 kann man eine explizite Schleife (bekommen alle Namen, öffnen Sie die einzelnen Namen, etc). Brauchen Sie Beispiel-code?Hier ist also die Allgemeine Idee (braucht mehr
try
/except
wenn Sie wollen geben eine schöne Fehlermeldung in jedem Fall was schief gehen könnte, von denen, natürlich, es gibt Millionen von Varianten-ich bin nur mit ein paar solcher Fälle als Beispiele...):Ich war das basteln am Skript für einige Zeit und ich habe zurück zu kommen.obwohl "for n in z ist.namelist():" bezieht sich auf alle Dateien. Ich kann nicht scheinen zu können, entpacken Sie die Ordner in der Zipdatei und Pflege der Datei-Struktur in der zip-Datei. vielen Dank einmal mehr
der code, den ich gab, funktioniert Super für mich: warum nicht post genau das, was Fehler, die Sie bekommen, eher als die völlig generic "können nicht scheinen, um in der Lage sein"?! Natürlich niemand kann Ihnen helfen, ohne Informationen.
alex danke für die Anreise und die Formalitäten
InformationsquelleAutor Alex Martelli
Herunterladen, Blick auf das urllib:
Zum entpacken, verwenden Sie zipfile. Siehe auch dieses Beispiel.
Das Beispiel, das ich verlinkt funktioniert wohl in Python 2.5 als es nicht nutzen Sie die neue Funktion ZipFile.extractall.
InformationsquelleAutor Mark Byers
Den kürzesten Weg, den ich bisher gefunden habe, ist die Verwendung von +alex Antwort, aber mit ZipFile.extractall() statt der Schleife:
InformationsquelleAutor Ohad Cohen