我在名为öl_och_ål_är_gott.zip的zip存档中有一个文件öl_och_ål_är_gott.txt。存档不是使用zipfile创建的。它可能来自任何能够创建zip存档的软件。
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表示我想要表示的名称?
答案 0 :(得分:1)
正如文档所述,ZIP文件没有正式的文件名编码。如果您有Unicode文件名(如您的情况),则必须在传递它们之前将它们转换为所需编码的字节字符串。
虽然我不知道为什么它不适合你。
>>> 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
在我的Ubuntu盒子上。