python一次性解壓多層巢狀zip壓縮包

2022-08-19 13:45:12 字數 757 閱讀 6467

zip包裡的結構不是固定的,有可能只需要解壓一次就完成了,有可能解壓後裡面還存在zip檔案,需要繼續進行解壓縮

寫了個簡單的遞迴函式來實現解壓非固定結構zip包,若解壓後的zip子目錄下仍含有zip檔案,則呼叫自身繼續進行解壓操作

解壓函式unzip通過傳入壓縮檔案所在絕對目錄和壓縮檔案名進行解壓操作

解壓檔案為c:\users\xiangmin\downloads\1522226134736.zip

import zipfile,os

def unzip(path,zfile):

file_path=path+os.sep+zfile

desdir=path+os.sep+zfile[:zfile.index('.zip')]

srcfile=zipfile.zipfile(file_path)

for filename in srcfile.namelist():

srcfile.extract(filename,desdir)

if filename.endswith('.zip'):

# if zipfile.is_zipfile(filename):

path=desdir

zfile=filename

unzip(path,zfile)

path=r'c:\users\xiangmin\downloads'

zfile=r'1522226134736.zip'

unzip(path,zfile)

scrapy 一次性提取多層巢狀標籤的所有文字

怎樣才能一次性提取多層巢狀標籤的所有文字,而不是通過迴圈判斷來進行拼接呢。詳細如下 假如頁面如下 helloworld 我要的提取結果是 helloworld 這裡就需要注意text 的使用了 首先設定sel selector text doc,type html 如果text 前面使用乙個反斜槓 ...

一次性成功

沒有人能隨隨便便成功 最近察覺到自己思維的乙個誤區,希望實現的目標第一次就成功,順順利利跳過失敗。這是大家都想要的結局,美好的期望總被現實的波浪所淹沒,因為失敗是避免不了的。一次性成功的想法導致焦慮,困惑,自我懷疑,這個時候如果放低要求換個角度思考,第一次失敗又如何,如果失敗了倒下了哪有怎樣?只要自...

集中問題,一次性出擊

在工作中,總會遇到很多的問題,有些時候有些人會找你處理很多的問題,很多的問題甚至與是由於別人導致的,但是卻需要你來處理,這導致你的工作量非常大.於是你會抱怨,你不想為該使用者處理問題,但是當你將問題提交到領導那裡的時候,領導諮詢到底是什麼問題,領導會忽略掉你的情緒,看事實,你忽然發現你只是記得別人有...