2011-09-23 6 views
1
내가 임시 디렉토리에 zip 파일을 확장 할 수

파이썬 zip 파일을 처리하는 방법

방법은 파이썬과 함께 zip 파일을 처리 할 수 ​​

a.zip--- 
     -- b.txt 
     -- c.txt 
     -- d.txt 

는 다음 중 하나

여기에 하나 개의 안녕 각 txt 파일을 처리 , 나는 파이썬이 그런 방법을 제공하는지 알기를 더 원합니다. 수동으로 zip 파일을 확장 할 필요가 없으며 zip 파일을 특수 폴더로 취급하고 이에 따라 각 txt를 처리해야합니다.

+0

위의 모든 내용은 중복되어 있습니다. http://stackoverflow.com/search?q=python+zipfile –

+0

가능한 복제본 [파이썬을 사용하여 HTTP를 통해 원격 Zip 아카이브에서 선택한 파일을 읽는 방법은 무엇입니까?] (http : /stackoverflow.com/questions/94490/how-do-i-read-selected-files-from-a-remote-zip-archive-over-http-using-python) –

+1

또는 아마도 이것의 중복 : http :// /image/4890860/make-in-memory-copy-of-a-zip-by-iterrating-over-each-file-of-the-input –

답변

11

Python standard library이 도움이됩니다. 선택된 모듈에 대한 매우 유익한

더그 헬먼 블로그 : http://www.doughellmann.com/PyMOTW/zipfile/

는 다비즈 게시물에 대해 언급하려면 : ZipFile를 객체에 파이썬 2.7에서 것은 상황에 맞는 관리를 제공하므로 권장되는 방법은 다음과 같습니다

import zipfile 
with zipfile.ZipFile("zipfile.zip", "r") as f: 
    for name in f.namelist(): 
     data = f.read(name) 
     print name, len(data), repr(data[:10]) 

close 메서드는 with 문 때문에 자동으로 호출됩니다. 이는 파일에 쓰는 경우 특히 중요합니다.

3

예, 각 파일을 단독으로 처리 할 수 ​​있습니다. 튜토리얼 here을보십시오. 사용자의 요구를 들어 당신은 튜토리얼이 예처럼 뭔가를 할 수 :이 아카이브에 각 파일을 반복하고 이름, 길이, 처음 10 바이트를 출력합니다

import zipfile 
file = zipfile.ZipFile("zipfile.zip", "r") 
for name in file.namelist(): 
    data = file.read(name) 
    print name, len(data), repr(data[:10]) 

.

포괄적 인 참조 설명서는 here입니다.

+1

파일을 변수 이름으로 사용하면 기본 파일과 충돌합니다. 유형. – rocksportrocker

관련 문제