自己並不會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"
ifnot
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"
ifnot
os.path.exists(tmpdir):
os.mkdir(tmpdir)
else:
cs = os.listdir(tmpdir)
os.chdir(tmpdir)
for c in cs:
ifos.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:
ifos.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")
ifnotos.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()
ifnotos.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,".")
python 解壓zip檔案
import os import zipfile import time defunzipfile file dir,file name,filelist param file dir 絕對路徑 param file name 解壓檔名 param filelist 返回解壓後的所有檔名 retur...
powershell 指令碼解壓zip檔案到指定目錄
function unzip file namespace zipfile items namespace targetfolder copyhere files remove item e test 123454 recurse 刪除資料夾下的所有檔案,保留資料夾 remove item e te...
Python壓縮解壓zip檔案
import os import shutil import zipfile from os.path import join,getsize一 python壓縮指定資料夾def zip file src dir zip name src dir zip z zipfile.zipfile zip ...