2016-12-29 2 views
0

Ich habe ein Zip-Datei-Objekt zu arbeiten:Python immer vollständigen Pfad Zip-Datei

docx_zip = zipfile.ZipFile(path) 

ich den vollständigen Pfad dieser Zip-Datei, um den Zugriff auf möge diesen Weg zu ImageTk Image-Objekt zu passieren, so brauche ich die Pfad zu dieser Datei.

image = Image.open(PATH_TO_IMAGE) 
photo = ImageTk.PhotoImage(image) 

Also frage ich: Wie kann ich path_to_image bekommen?

Eine Methode ist optional, es in das aktuelle Arbeitsverzeichnis zu extrahieren und ihm den neuen Pfad (den Dateinamen) zu geben, aber ich frage mich, ob es eine Option gibt, den vollständigen Pfad direkt aus dem Zip-Archiv zu erhalten.

Antwort

1

Können Sie versuchen

import os.path 
docx_zip = zipfile.ZipFile(path) 
print os.path.dirname(path) 
1

Ich glaube nicht, dass zipfile dies zulässt. Zumindest kann ich nichts in der docs finden, aber es gibt einen Workaround. Sie können ein ZipInfo Objekt aus Ihrem ZipFile erstellen, die die Informationen halten Sie wollen:

import zipfile 
import os 

docx_zip = zipfile.ZipFile(zip_path) 
docx_info = docx_zip.getinfo(name_of_image_in_zip) 
path_to_image = os.path.abspath(docx_info.filename) 
# or get all paths: 
docx_name_list = docx_zip.infolist() 
paths_to_images = [os.path.abspath(x.filename) for x in docx_name_list] 

Ich hoffe, das hilft.

Verwandte Themen