繁体   English   中英

Python zipfile在Windows上部分起作用吗?

[英]Python zipfile works partially on Windows?

我在脚本中使用zipfile解压缩.zip文件。 这是我的代码:

def unzip(src, dst):
    zf = zipfile.ZipFile(src)
    for member in zf.infolist():
        words = filter(None, member.filename.split('/'))
        path = dst
        for word in words[:-1]:
            drive, word = os.path.splitdrive(word)
            head, word = os.path.split(word)
            if word in (os.curdir, os.pardir): continue
            path = os.path.join(path, word)
        zf.extract(member, path)
    dirMacosx = "%s/__MACOSX" % (dst)
    if os.path.exists(dirMacosx):
        shutil.rmtree(dirMacosx)

当我在Linux或OS X上解压缩文件时,它可以正常工作,但是当我在Windows上运行该文件时,它会创建一个目录以及其中的所有目录,但没有一个文件。 为什么会这样呢?

为了与类Unix和Windows兼容,请更换

words = filter(None, member.filename.split('/'))

words = filter(None, member.filename.split(os.sep))

在类Unix上将使用/ ,在Windows上使用\\

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM