Python解压缩不适用于某些文件(奇怪)

时间:2018-09-22 18:55:01

标签: python zip zipfile

我当前的任务涉及许多解压缩工作,其中一些压缩文件包含其他压缩文件。我使用以下代码解压缩:

# unzips a zip file with 'filename' in 'folder' to 'dest'
def unzip(fileName, folder, dest):
    loc = fullPath(fileName, folder)
    zip_ref = zipfile.ZipFile(loc, 'r')
    zip_ref.extractall(dest)
    zip_ref.close()

它适用于大多数文件,但是某些文件在zip_ref.extractall(dest)上产生以下错误:

FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\VKBob\\Downloads\\ff\\HW Assignment1 \\Popeye.java'

正如我之前提到的,这只是其中一个zip文件的问题,其中有两个子文件夹和一堆java / txt文件。现在,对于奇怪的部分:如果我删除了该zip文件,然后将其粘贴回(使用资源管理器),问题就消失了。

任何想法可能出什么问题吗?谢谢。

编辑:我正在Windows笔记本电脑上进行这项工作,并且我肯定这个特定的zip是在Mac上创建的。这可能是个问题吗? PS。定期提取作品(使用资源管理器)

编辑2:我知道loc上的文件是一个zip文件-已通过调试器检查。

编辑3:我真的不认为选择正确的文件是个问题。可能与MAC和Windows ZIP文件编码之间的冲突有关。

1 个答案:

答案 0 :(得分:0)

该错误明确指出,您已尝试将扩展名为* .java的文件解压缩。