Encoding 如何使用非Unicode非拉丁文件名提取Zip文件?
有时,您会遇到Zip文件,其中的文件或目录名称中包含一些无法识别的字符,因此无法提取它们。您使用什么工具在正确转换的文件名中提取它们?我搜索了web,但没有找到好的脚本。所以出于必要,我自己写了一个Python脚本。希望它对某人有用 欢迎提出任何建议,特别是如果您知道这在某些特殊情况下不起作用。请不要挑剔不整洁的编码风格Encoding 如何使用非Unicode非拉丁文件名提取Zip文件?,encoding,zip,filenames,zipfile,Encoding,Zip,Filenames,Zipfile,有时,您会遇到Zip文件,其中的文件或目录名称中包含一些无法识别的字符,因此无法提取它们。您使用什么工具在正确转换的文件名中提取它们?我搜索了web,但没有找到好的脚本。所以出于必要,我自己写了一个Python脚本。希望它对某人有用 欢迎提出任何建议,特别是如果您知道这在某些特殊情况下不起作用。请不要挑剔不整洁的编码风格 import os,sys,zipfile x, fn = sys.argv enc = 'utf-8' zipf = zipfile.ZipFile(fn) for x
import os,sys,zipfile
x, fn = sys.argv
enc = 'utf-8'
zipf = zipfile.ZipFile(fn)
for x in zipf.infolist():
fn = x.filename
fne = fn.encode(enc)
if os.sep in fne:
path = fne[:fne.rindex(os.sep)]
if not os.path.exists(path): os.makedirs(path)
if fne.endswith(os.sep): continue
f = open(fne,'wb')
f.write(zipf.open(fn).read())
f.close()
我没有投你反对票,但你最好提出一个问题(“如何提取非unicode非拉丁文件名的zip文件?”),然后提交你的解决方案作为答案,然后接受它。(这样的话,如果你的答案有用的话,你也可以获得更多的选票)。快去吧+1听起来很有用。。。但请将其作为答复提交。。。不仅仅是问题嗯,我觉得自我回答没问题。。我看到一些“问题”实际上是教程。好的,我试试看。谢谢