前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现zip压缩

python实现zip压缩

作者头像
码农二狗
发布2018-06-29 10:20:24
7190
发布2018-06-29 10:20:24
举报
文章被收录于专栏:码农二狗码农二狗

准备写个备份数据的脚本,虽然linux下有zip等软件,但是python有自带zipfile类库,实现起来并不复杂,权当练手.

代码语言:javascript
复制
#!/usr/bin/python
import os
import zipfile
import sys
import platform
 
global line
if platform.system() == "Windows":
    line = "\\"
else:
    line = "/"
 
def zip_dir(path,spath,zip_obj,zip_file):
    if os.path.exists(path):
        tmp = os.listdir(path + line)
        for i in range(0,len(tmp)):
            nowfile = path+tmp[i]
            if  os.path.isfile(nowfile):
                if nowfile != zip_file:
                    zip_obj.write(nowfile,nowfile[len(spath):len(nowfile)])
                    print("File:%s Is compressed" %(nowfile))
            else:
                zip_dir(nowfile+line,spath,zip_obj,zip_file)
    else:
        print("Directory:%s does not exist" %(path))
        return -1
    return 0
 
if len(sys.argv) > 2:
    zfile = sys.argv[1]
    path = sys.argv[2]+line
    if os.path.exists(os.path.dirname(zfile)) == False:
        zfile =  os.path.join(os.getcwd(), zfile)
    z = zipfile.ZipFile(zfile,"w")
    zip_dir(path,path,z,zfile)
    z.close()
    sys.exit
else:
    print("Parameter Error")
    print("Parameter Is : zip.py [zipfile] [directory]")
    sys.exit

调用参数为 :

[脚本文件]  [目标ZIP文件] [要压缩的目录或者文件]

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档