python解压zip脚本

自己并不会python, 但是 网上下了一个 new 游戏合集,需要批量解压zip文件,并提取nes文件出来。 然后磕磕碰碰的按照api写的脚本. 仅供个人使用。。。



# -*- coding: UTF-8 -*-
import zipfile
import  os
import  shutil
files=os.listdir(".")

tmp = "p_y_u_n_z_i_p.zip"
outdir = "out"
if not os.path.exists(outdir):
    os.mkdir(outdir)
else:
    oos=os.listdir(outdir)
    os.chdir(outdir)
    for ccos in oos:
        os.remove(ccos)
    os.chdir("..")
tmpdir = "pyunzip"
if not os.path.exists(tmpdir):
    os.mkdir(tmpdir)
else:
    cs = os.listdir(tmpdir)
    os.chdir(tmpdir)
    for c in cs:

        if os.path.isdir(c):
            ccs = os.listdir(c)
            os.chdir(c)
            for ccss in ccs:
                os.remove(ccss)
            os.chdir("..")
            os.removedirs(c)
        else:
            pass
            # print("rm", c)

    os.chdir("..")
for x in files:
    if os.path.isfile(x) and x.endswith(".zip") and not x==outdir:
        print(x)
        jz=x.split(".zip")[0]+".nes"
        # print( jz)
        # print("222")
        os.rename(x,tmp)
        try:
             zf=zipfile.ZipFile(tmp,"r")
             zf.extractall(tmpdir)
             # print("c1")
             dirs=os.listdir(tmpdir)
             # print("c2")
             os.chdir(tmpdir)
             for cc in dirs:
                 # print("c3")
                 if not os.path.isdir(cc):
                    continue
                 ness=os.listdir(cc)


                 # print("cc3")
                 os.chdir(cc)
                 for nes in ness:
                    # print("nes")
                    # print(nes,jz)
                    # print("n1")
                    os.rename(nes,jz)
                    # print("n2")
                    # print()
                    if not os.path.exists("../../"+outdir+"/"+jz):
                        shutil.move(jz,"../../"+outdir)
                    else :
                        # print ("o1")
                        pass
                 os.chdir("..")
                 # print ("o2")
             os.chdir("..")
             # print ("o3")
             print(jz)
        except:
            pass
            # print("error")
        finally:
            os.rename(tmp,x)



        # f=zipfile.ZipFile(x,"r")
        # for fl in f.namelist():
        #     if (fl.endswith(".nes")):
        #         f.extract(fl,".")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值