2016-12-29 2 views
0

작업에 대한 전체 경로를 받고 :파이썬 내가 ZipFile를 개체가 zip 파일

docx_zip = zipfile.ZipFile(path) 

내가 ImageTk 이미지 객체에 해당 경로를 통과하기 위해 그 zip 파일의 전체 경로를 액세스하려면, 그래서이 필요 그 파일의 경로.

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

그래서 묻습니다. PATH_TO_IMAGE는 어떻게받을 수 있습니까?

옵션은 현재 작업 디렉토리에 압축을 풀고 새 경로 (파일 이름)를 지정하는 것이지만 zip 아카이브에서 전체 경로를 직접 가져올 수있는 옵션이 있는지 궁금합니다.

답변

1

당신은 내가 zipfile이 허용 생각하지 않습니다

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

시도 할 수 있습니다. 최소한 docs에서 아무 것도 찾을 수 없지만 해결 방법이 있습니다. 당신은 당신이 원하는 정보를 보유 할, 당신의 ZipFile에에서 ZipInfo 개체를 만들 수 있습니다 :

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] 

도움이 되었기를 바랍니다.

관련 문제