파이썬에서 중첩 된 zip 파일을 압축 해제 할 방법을 찾고 있습니다.파이썬에서 중첩 된 zip 파일 압축 해제
- 폴더
- ZipfileA.zip
- ZipfileA1.zip
- ZipfileA2.zip
- ZipfileB 예를 들어, 다음과 같은 구조 (편의를 위해 가상 이름) 고려 .zip
- ZipfileB1.zip
- ZipfileB2.zip
- ZipfileA.zip
... 등. 두 번째 우편 번호 내에있는 텍스트 파일에 액세스하려고합니다. 전단 숫자가 컴퓨터를 부수기 때문에 모든 것을 추출하고 싶지는 않습니다 (첫 번째 레이어에는 수백 개의 zip이 있고 두 번째 레이어에는 거의 10,000 개의 zip이 있음).
저는 'zipfile'모듈을 가지고 놀았습니다. 저는 첫 번째 수준의 zip 파일을 열 수 있습니다. 예컨대는 :
zipfile_obj = zipfile.ZipFile("/Folder/ZipfileA.zip")
next_layer_zip = zipfile_obj.open("ZipfileA1.zip")
그러나, 이것은 "ZipExtFile"예 (없는 파일이나 ZipFile를 인스턴스)를 반환 - 그리고 그때에 가서이 특정 데이터 형식을 열 수 없습니다. 나는이 작업을 수행 할 수 :
data = next_layer_zip.open(data.txt)
나는 그러나 함께이 zip 파일 파일을 "읽기"수
next_layer_zip.read()
을하지만이 완전히 쓸모입니다! (즉, 압축 된 데이터/goobledigook 만 읽을 수 있음).
사람은 (ZipFile.extract를 사용없이) 내가 이것에 대해 갈 수있는 방법에 대한 아이디어가 있습니까?
내가 정확히 무엇을 하려는지 보이는 http://pypi.python.org/pypi/zip_open/ -이 것이 나에게 적합하다고 보지 않습니다. (계속 "[Errno 2] No such file or directory :"모듈을 사용하여 처리하려고하는 파일).
어떤 아이디어라도 높이 평가할 것입니다 !! 미리 감사드립니다.
당신을 위해 3.3을 사용하면 시간을 절약 할 수 있습니다.'TypeError : 예상되는 문자열 인수'memory_zip.write (parent_zip.open (child_zip_path) .read())'행과 관련된 'bytes' 해결 방법 – user25064