2012-10-03 5 views
1

http 게시 요청 본문에 tar 파일이 생겼습니다. 먼저 tar 파일을 디스크에 쓰지 않고 내용을 추출하고 싶습니다. 이 파일은 zip 파일로 사용하고 난 tarfile.TarFile를 사용하여 같은 일을 어떻게Python, 변수의 데이터에서 TarFile 열기

zip = zipfile.ZipFile(StringIO(request.content.read())) 
zip.extractall(some_path) 

을 할 수 있습니까?

나는
tar = tarfile.open(fileobj = StringIO(self.request.content.read())) 

을 시도했지만 오류 메시지 도착 :

file could not be opened successfully 

답변

0

tarfile.openfileobj 매개 변수를 사용합니다.

편집

: 나는 다음과 같은 시도 :

# t.py 
import tarfile 
import StringIO 

tarf = open('test.tar', 'rb') 
tarstrio = StringIO.StringIO(tarf.read()) 
tar = tarfile.open(fileobj=tarstrio) 

tar.list() 

을 예상대로 일했다.

+0

나는 그것을 시도했다. 그러나 didnt는 그것이 일하는 것을 얻는다. 내 질문에 오순절 된 정보를 업데이트했습니다. – user1622094

+0

내용이 유효하지 않은 것 같습니다. 이를 테스트하려면 파일에 쓰고 명령 줄에서'tar tf ... '를 사용하여 유효성을 검사하십시오. –

+0

콘텐츠가 올바르지 않은 곳에서 유효하지 않습니다. 유효한 데이터로 작동합니다. – user1622094

관련 문제