2010-11-24 2 views
0

öl_och_ål_är_gott.zip이라는 zip 아카이브 안에 öl_och_ål_är_gott.txt 파일이 있습니다. 아카이브는 zip 파일을 사용하여 생성되지 않습니다. zip 아카이브를 만들 수있는 모든 소프트웨어에서 올 수 있습니다.압축되지 않은 파일에서 비 ASCII 파일 이름을 사용하고 Python 2.4에서 ZipFile을 사용하여 추출하는 방법은 무엇입니까?

src = open(file_path, "rb") 
zip_file = ZipFile(src) 
for info in zip_file.infolist(): 
    print info.filename 
    ... 

인쇄 아웃 :

”l_och_†l_„r_gott.txt 

어떻게 내가이 표현 될 원하는대로 이름을 나타내는 ZipFile를 강제 할 수 있는가?

답변

1

docs 상태에서 ZIP 파일의 공식 파일 이름 인코딩은 없습니다. 유니 코드 파일 이름을 사용하는 경우 (자신의 경우와 같이)이를 전달하기 전에 원하는 인코딩으로 바이트 문자열로 변환해야합니다.

DOCS

당신을 위해 작동하지 않는 이유를 모르겠어요하지만.

>>> src = open('/Desktop/test.zip', 'rb') 
>>> zip_file = zipfile.ZipFile(src) 
>>> for info in zip_file.infolist(): 
...  print info.filename 
... 
öl_och_ål_är_gott 

내 우분투 상자에 있습니다.

+0

죄송합니다. zipfile을 사용하여 아카이브를 만들지 않았 음을 언급해야합니다. 아카이브는 임의의 출처에서 가져옵니다. – MdaG

+0

이 경우, 나는'zipfile'을 사용하지 않고 직접 파일을 만들었습니다. 그리고 그것은 중요하지 않습니다. Windows 또는 Linux에 있습니까? – user225312

+0

저는 Windows에 있지만 Linux 또는 Mac 컴퓨터에서 보관 파일을 쉽게 만들 수 있습니다. 적어도 저는 그러한 사건을 처리 할 수 ​​있기를 바랍니다. – MdaG

관련 문제