压缩文件到zip

时间:2017-11-08 13:11:19

标签: python python-2.7 python-3.x

我试图在这里做一个程序我需要压缩一些文件,但我希望它在文件不存在时停止。 代码工作,但问题是它无论如何压缩文件,我的意思是程序输出错误但压缩具有该名称的文件(空文件)

如果有人可以提供帮助就会很棒:)

import sys, zipfile

def compress (file):
    try:
        zf = zipfile.ZipFile(file + '.zip', mode='w')
        zf.write(file, compress_type=zipfile.ZIP_DEFLATED)
        zf.close()
    except OSError:
        print("The file "+ file + " doesnt exist!")
        #erro.value = 1

if __name__ == "__main__":
    compress(sys.argv[1])

1 个答案:

答案 0 :(得分:1)

来自Python documentation

  

如果使用'w','x'或'a'模式创建文件,然后关闭而不向存档添加任何文件,则会将空存档的相应ZIP结构写入文件。

所以使用

if os.path.exists(file)

之前检查文件是否存在
zf = zipfile.ZipFile(file + '.zip', mode='w')