QPython 3C 操作 压缩包

QPython 3C 操作 压缩包

zipfile 压缩文件夹

import os,shutil,zipfile #引入zip管理模块
isdir=os.path.isdir
listdir=os.listdir
Join=os.path.join
getcwd=os.getcwddef ZipFiles(absDir,absZipFile=None,PathType=0,Print=1):
#主函数:参数分别是 源文件夹绝对路径,目标压缩文件绝对路径,目标压缩文件里_路径类型_(默认0=源文件夹_下级路径,1=源文件夹_本级路径,2=文件系统_根路径,-1=源文件夹_下级路径_二次压缩),打印具体信息global absDirLen,prtif not absZipFile:absZipFile=absDir+'.zip'OriPath=getcwd()if PathType==1:newDir=absDir[:absDir.rfind('/')]elif PathType==2:absDirLen=0else:newDir=absDirif PathType<2:absDirLen=len(newDir)+1os.chdir(newDir)if PathType<0:ZipCompress=zipfile.ZIP_STOREDelse:ZipCompress=zipfile.ZIP_DEFLATEDZipfile=zipfile.ZipFile(absZipFile,"w",ZipCompress)
#创建zip文件。参数w表示写模式。zipfile.ZIP_DEFLATED表示需要压缩,文件会变小。ZIP_STORED是单纯的复制,文件大小没变。if Print:prt=printelse:prt=lambda s:Noneprt('<创建文件" %s "成功,开始压缩>'%absZipFile)writeAllFileToZip(absDir,Zipfile) #开始压缩Zipfile.close()if PathType<0:prt('<进行二级压缩>')os.chdir(os.path.dirname(absZipFile))Zipfile=zipfile.ZipFile(absZipFile+'.zip',"w",zipfile.ZIP_DEFLATED)Zipfile.write(os.path.basename(absZipFile))Zipfile.close()shutil.move(absZipFile+'.zip',absZipFile)os.chdir(OriPath)prt("<压缩成功>")#定义一个函数,递归读取absDir文件夹中所有文件,并塞进absZipFile文件中。
def writeAllFileToZip(absDir,Zipfile):global absDirLen,prtfor f in listdir(absDir):absFile=Join(absDir,f) #子文件的绝对路径relFile=absFile[absDirLen:] #改成相对路径,否则解压zip是/User/xxx开头的文件。prt(relFile)try:Zipfile.write(relFile)except ValueError:
#空白时间文件,重写后继续shutil.copy(relFile,relFile+'_')shutil.move(relFile+'_',relFile)Zipfile.write(relFile)if isdir(absFile): #判断是文件夹,继续深度读取。递归操作writeAllFileToZip(absFile,Zipfile)returnabsDirLen=prt=-1
__all__=('ZipFiles','os','shutil','zipfile')

zipfile 解压文件夹

import zipfile
def unZipFiles(src,dst=None):if dst==None:if src[-4:].lower()=='.zip':dst=src[:-4]else:returnzipfile.ZipFile(src,'r').extractall(dst)

7z 压缩文件夹

import os
os.system("7z a '%s' '%s'"%(destFile目标压缩文件,srcFolder源文件夹))

7z 压缩文件夹(带密码,加密文件名)

import os
os.system("7z a '%s' '%s' -p'%s' -mhe"%(destFile目标压缩文件,srcFolder源文件夹,passWord密码))

7z 解压文件夹

import os
os.system("7z x -o'%s' '%s'"%(destFolder目标文件夹,srcFile源压缩文件))

7z 解压文件夹(带密码)

import os
os.system("7z x -o'%s' '%s' -p'%s'"%(destFolder目标文件夹,srcFile源压缩文件,passWord密码))

7z 视频演示:

作者:

乘着船@CSDN

更多文章+下载链接:

发布者:admin,转转请注明出处:http://www.yc00.com/news/1692699047a631779.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信