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 視頻演示:
https://www.bilibili.com/video/BV1TV411s7VZ
作者:
乘著船@CSDN
更多文章+下載鏈接:
https://www.bilibili.com/read/readlist/rl321663
總結
以上是生活随笔為你收集整理的QPython 3C 操作 压缩包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【办公常用软件】万彩办公大师教程丨PDF
- 下一篇: “网络相亲”三大纪律八项注意