如何提取Zip文件与非Unicode非拉丁文文件名?(How to Extract Zip File

2019-09-18 23:22发布

有时候,你的文件或目录名称中带有一些无法识别的字符来通过压缩文件,所以你不能提取它们。 你用什么工具来提取他们在正确转换文件名?

Answer 1:

我在网上搜索,但未能找到一个好剧本。 因此,出于需要我写了一个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()


文章来源: How to Extract Zip Files with non-Unicode non-Latin Filenames?