I use python s zipfile module to extract a .zip archive (Let s take this file at http://img.dafont.com/dl/?f=akvaleir for example.)
f = zipfile.ZipFile( akvaleir.zip , r )
for fileinfo in f.infolist():
print fileinfo.filename
f.extract(fileinfo, . )
Its output:
Akval�ir_Normal_v2007.ttf
Akval�ir, La police - The Font - Fr - En.pdf
Both files are unaccessable after extraction because there are invalid encoded characters in their filenames. The problem is zipfile module doesn t have an option to specify output filenames.
However, "unzip akvaleir.zip" escapes the filename well:
root@host:~# unzip akvaleir.zip
Archive: akvaleir.zip
inflating: AkvalВir_Normal_v2007.ttf
inflating: AkvalВir, La police - The Font - Fr - En.pdf
I tried capturing output of "unzip -l akvaleir.zip" in my python program and these two filenames are:
Akvalxd0x92ir_Normal_v2007.ttf
Akvalxd0x92ir, La police - The Font - Fr - En.pdf
How can I get the correct filename like what unzip command does without capturing output of "unzip -l akvaleir.zip"?