波风水门 发表于 2020-3-28 15:55:06

python3 zip文件解压缩报错

提示:
Traceback (most recent call last):
File "D:/学习资料/unzip/unzip.py", line 32, in <module>
    main()
File "D:/学习资料/unzip/unzip.py", line 28, in main
    unzip(path)
File "D:/学习资料/unzip/unzip.py", line 20, in unzip
    myzip = zipfile.ZipFile(os.path.join(path, file),'r')
File "C:\Users\10258790\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1258, in __init__
    self._RealGetContents()
File "C:\Users\10258790\AppData\Local\Programs\Python\Python37\lib\zipfile.py", line 1325, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
unzip.py

zip文件未损坏,且确定文件格式为zip文件,请问哪位大佬知道是什么原因?

qiuyouzhi 发表于 2020-3-28 15:56:14

1,发代码
2,确定在一个目录里?

波风水门 发表于 2020-3-28 16:00:15

qiuyouzhi 发表于 2020-3-28 15:56
1,发代码
2,确定在一个目录里?

import zipfile
import os

def scan_dir(path):
    files = os.listdir(path)# 返回指定的文件夹包含的文件或文件夹的名字的列表
    print(files)
    return files

def unzip(path):
    files = scan_dir(path)
    for file in files:
      print(file)
      myzip = zipfile.ZipFile(os.path.join(path, file),'r')
      myzip.extractall(os.path.join(path,file.split('.')))
      myzip.close()

def main():
    path = "D:\\学习资料\\unzip\\"
    unzip(path)


if __name__ == '__main__':
    main()

当然在一个目录里面啦!

qiuyouzhi 发表于 2020-3-28 16:22:00

波风水门 发表于 2020-3-28 16:00
import zipfile
import os



你那个path不应该指向一个文件吗?

波风水门 发表于 2020-3-28 16:25:58

qiuyouzhi 发表于 2020-3-28 16:22
你那个path不应该指向一个文件吗?

哪一个path?

qiuyouzhi 发表于 2020-3-28 16:27:28

波风水门 发表于 2020-3-28 16:25
哪一个path?

main里的path

波风水门 发表于 2020-3-28 16:32:15

qiuyouzhi 发表于 2020-3-28 16:27
main里的path

这个会有影响吗?我这个可以实现解压。之前在一个版本的pycharm中运行过程序没有问题,现在换一个pycharm以后,就会报错,但是也能够成功解压,就很奇怪,想搞清楚为什么
页: [1]
查看完整版本: python3 zip文件解压缩报错