2016-09-30 3 views
0

Ich versuche, ein Shapefile zu zippen. Ich habe alle Komponenten der Shapefile-Leiste die LOCK- und .CPG-Dateien ausgewählt. Diese können aus irgendeinem Grund nicht auf unserer Website hochgeladen werden und verursachen ein Problem.Das Zippen von einzelnen Dateien wird in Schleife

Ich habe versucht, den folgenden Code zu verwenden, aber es bleibt in einer Schleife stecken und stürzt ab. Ich habe einen separaten Ordner, der mit der Shut-Methode ganz einfach gezippt werden kann. Um Dateien zu identifizieren, die gezippt werden sollen, muss ich das Zipfile-Modul verwenden.

Antwort

0

Ich habe die Schleife umgangen, indem ich eine leere Liste erstellt und dann die Dateinamen an die Liste angehängt habe. Ich schrieb dann den Inhalt der Liste in die ZIP-Datei.

zip = zipfile.ZipFile(os.path.join(datafolder, "MMO_Real_Time_Closures.zip"), "w", zipfile.ZIP_DEFLATED) 

shp_zip_list = [] 

for f in glob.glob(rtc_shp.replace(".shp",".*")): 
    if not f.endswith(".lock"): 
     if not f.endswith(".cpg"): 
      shp_zip_list.append(f) 

for f in shp_list: 
    zip.write(f, basename(f)) 

zip.close() 

shutil.make_archive(indivfolder, "zip", indivfolder) 
Verwandte Themen