3

有时您会收到带有文件或目录的 Zip 文件,其名称中有一些无法识别的字符,因此您无法提取它们。您使用什么工具将它们提取为正确转换的文件名?

4

1 回答 1

3

我在网上搜索但没有找到好的脚本。所以出于必要,我自己编写了一个 Python 脚本。希望它对某人有用。

欢迎任何建议,特别是如果您知道这在某些特殊情况下不起作用。请不要选择不整洁的编码风格。

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()
于 2012-07-02T14:52:07.427 回答