日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python 解壓、復制、刪除 文件的實例代碼

瀏覽:22日期:2022-08-06 13:02:39

壓縮復制刪除文件基于python語言怎么操作呢,壓縮文件有四種格式:zip、rar、tar、tar.gz,在壓縮過程中也容易出現很多問題,今天小編通過代碼給大家詳解,具體內容如下所示:

一、python3解壓文件1.python 解壓文件代碼示例

如下代碼主要實現zip、rar、tar、tar.gz四種格式的壓縮文件的解壓

def unzip_file(src_file, dst_dir=None, unzipped_files=None, del_flag=True): ''' 根據指定的壓縮文件類型遞歸解壓所有指定類型的壓縮文件 :param src_file: 解壓的源文件路徑,可以為文件夾路徑也可以是文件路徑 :param dst_dir: 解壓后的文件存儲路徑 :param unzipped_files: 完成解壓的文件名列表 :param del_flag: 解壓完成后是否刪除原壓縮文件,默認刪除 :return: 完成解壓的文件名列表 ''' # 完成解壓的文件名列表初始為空 if unzipped_files is None: unzipped_files = [] # 指定的解壓文件類型 zip_types = [’.zip’, ’.rar’, ’.tar’, ’.gz’] def exec_decompress(zip_file, dst_dir): ''' 解壓實現的公共代碼 :param zip_file: 壓縮文件全路徑 :param dst_dir: 解壓后文件存儲路徑 :return: ''' file_suffix = os.path.splitext(zip_file)[1].lower() try: print(’Start extracting the file: %s’ % zip_file) # zip 解壓 if file_suffix == ’.zip’: # zip解壓 寫法一 with ZipFile(zip_file, mode=’r’) as zf: zf.extractall(dst_dir) # zip解壓 寫法二 # file_zip = ZipFile(zip_file, mode=’r’) # for file in file_zip.namelist(): # file_zip.extract(file, dst_dir) # file_zip.close() # rar 解壓 elif file_suffix == ’.rar’: rf = rarfile.RarFile(zip_file) rf.extractall(dst_dir) # tar、tgz(tar.gz) 解壓 elif file_suffix in [’.tar’, ’.gz’]: tf = tarfile.open(zip_file) tf.extractall(dst_dir) # 關閉文件釋放內存 tf.close() print(’Finished extracting the file: %s’ % zip_file) except Exception as e: print(e) # 解壓完成加入完成列表 unzipped_files.append(zip_file) # 根據標識執行原壓縮文件刪除 if del_flag and os.path.exists(zip_file): os.remove(zip_file) # 如果傳入的文件路徑為文件目錄,則遍歷目錄下所有文件 if os.path.isdir(src_file): # 初始化文件目錄下存在的壓縮文件集合為空 zip_files = [] # 如果傳入的目的文件路徑為空,則取解壓的原文件夾路徑 dst_dir = dst_dir if dst_dir else src_file # 遍歷目錄下所有文件 for file in os.listdir(src_file): file_path = os.path.join(src_file, file) # 如果是文件夾則繼續遞歸解壓 if os.path.isdir(file_path): dst_path = os.path.join(dst_dir, file) unzip_file(file_path, dst_path, unzipped_files) # 如果是指定類型的壓縮文件則加入到壓縮文件列表 elif os.path.isfile(file_path) and os.path.splitext(file_path)[ 1].lower() in zip_types and file_path not in unzipped_files: zip_files.append(file_path) # 遍歷壓縮文件列表,執行壓縮文件的解壓 for zip_file in zip_files: exec_decompress(zip_file, dst_dir) # 如果當前目錄存在壓縮文件則完成所有文件解壓后繼續遍歷 if zip_files: unzip_file(dst_dir, unzipped_files=unzipped_files) # 如果傳入的文件路徑是指定類型的壓縮文件則直接執行解壓 elif os.path.isfile(src_file) and os.path.splitext(src_file)[1].lower() in zip_types: dst_dir = dst_dir if dst_dir else os.path.dirname(src_file) exec_decompress(src_file, dst_dir) return unzipped_files2.python解壓常見問題解決辦法

2.1 python3 zipfile解壓文件名亂碼解決辦法

直接修改源碼,即 zipfile.py 文件:

第一處:

if flags & 0x800: # UTF-8 file names extension filename = filename.decode(’utf-8’)else: # Historical ZIP filename encoding # 注釋原代碼 # filename = filename.decode(’cp437’) # 新加一行代碼 filename = filename.decode(’gbk’)

第二處:

if zinfo.flag_bits & 0x800: # UTF-8 filename fname_str = fname.decode('utf-8')else: # 注釋原代碼 # fname_str = fname.decode('cp437') # 同樣新加一行代碼 fname_str = fname.decode(’gbk’)

2.1 rar 解壓無法找到動態庫(unrar.dll)解決辦法

報錯示例:

python 解壓、復制、刪除 文件的實例代碼

第一步 手動下載動態庫文件 unrar.dll 存在本地目錄,例如我的本地存儲路徑為:C:MySoftassistunrar.dll

鏈接: https://pan.baidu.com/s/1rqhFND9XmtD1Y8yGLEz9kA 提取碼: u2my

第二步 修改源碼 unrarlib.py 文件

if platform.system() == ’Windows’: from ctypes.wintypes import HANDLE as WIN_HANDLE HANDLE = WIN_HANDLE UNRARCALLBACK = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_uint, ctypes.c_long, ctypes.c_long, ctypes.c_long) # 注釋原代碼 # lib_path = lib_path or find_library('unrar.dll') # 將路徑指向下載的動態庫文件存儲路徑 lib_path = r'C:MySoftassistunrar.dll' if lib_path: unrarlib = ctypes.WinDLL(lib_path)

知識點擴展:python 壓縮文件夾的代碼

def zip_ya(start_dir): start_dir = start_dir # 要壓縮的文件夾路徑 file_news = start_dir + ’.zip’ # 壓縮后文件夾的名字 z = zipfile.ZipFile(file_news, ’w’, zipfile.ZIP_DEFLATED) for dir_path, dir_names, file_names in os.walk(start_dir): f_path = dir_path.replace(start_dir, ’’) # 這一句很重要,不replace的話,就從根目錄開始復制 f_path = f_path and f_path + os.sep or ’’ # 實現當前文件夾以及包含的所有文件的壓縮 for filename in file_names: z.write(os.path.join(dir_path, filename), f_path + filename) z.close() return file_news

PS: 若遞歸掃描所有文件夾過程中有文件夾里不存在文件, 該文件夾將被忽略

總結

到此這篇關于python 解壓、復制、刪除 文件的實例代碼的文章就介紹到這了,更多相關python 解壓、復制、刪除 文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜臀久久久99精品久久久久久| 视频福利一区| 久久中文字幕av| 国产va在线视频| 国产精品调教视频| 日韩中文字幕| 五月激激激综合网色播 | 欧美日韩精品一本二本三本| 日韩精品电影| 国产综合精品一区| 亚洲欧美日韩一区在线观看| 久久亚洲美女| 国产精品视频一区二区三区 | 亚洲一级影院| 亚洲一区二区毛片| 亚洲一级影院| 亚洲精品激情| 久久久久黄色| 1024精品久久久久久久久| 蜜桃av一区二区| 欧美黄页在线免费观看| 日韩国产欧美一区二区| 一区二区三区国产在线| 国产极品久久久久久久久波多结野| 国产96在线亚洲| 中文不卡在线| 高清av一区| 蜜桃久久久久久久| 成人三级高清视频在线看| 亚洲国内精品| 亚洲青青久久| 群体交乱之放荡娇妻一区二区| 久久亚洲视频| 日韩一区二区三区在线免费观看| 男人的天堂亚洲一区| 精品一区av| 日韩欧美精品一区二区综合视频| 你懂的网址国产 欧美| 尤物网精品视频| 超碰在线99| 欧美片网站免费| av成人国产| 欧美片第1页| 国产精品视频一区二区三区综合| 精品中文字幕一区二区三区av| 日本特黄久久久高潮| 99视频在线精品国自产拍免费观看| 精品一区二区三区中文字幕| 五月激激激综合网色播| 午夜国产精品视频| 老牛影视精品| 国产成人77亚洲精品www| 欧美日韩xxxx| 日韩精品中文字幕一区二区| 精品1区2区3区4区| 亚洲不卡av不卡一区二区| 美女av一区| 国产精品亚洲综合色区韩国| 久久国产福利| 五月天激情综合网| 日韩欧美另类一区二区| 久久精品理论片| 免费日韩成人| 精品少妇av| 国精品产品一区| 久久精品二区亚洲w码| 国产精品久一| 欧美激情视频一区二区三区免费| 日本天堂一区| 国产精品免费99久久久| 欧美激情视频一区二区三区在线播放| 国产亚洲欧美日韩在线观看一区二区| 婷婷成人av| 麻豆国产91在线播放| 精品国产精品久久一区免费式| 日韩动漫一区| 日本h片久久| 91av一区| 国产一区不卡| 激情婷婷久久| 美女尤物久久精品| 欧美精品观看| 国产精品麻豆久久| 在线视频观看日韩| 日韩一区二区三区精品| 国产欧美日韩影院| 国产一区二区三区日韩精品| 91精品一区二区三区综合| 国产精品视区| 国产精品蜜芽在线观看| 日本成人在线视频网站| 中文字幕一区二区三区四区久久 | 欧美一区久久| 精品国产精品久久一区免费式| 亚洲第一精品影视| 日本少妇一区二区| 亚洲1234区| 先锋影音久久久| 美女久久久精品| 亚洲一区二区三区免费在线观看| 日本亚洲最大的色成网站www| 精品久久精品| 日韩av网站免费在线| 欧美综合另类| 亚洲v天堂v手机在线| 国产精品yjizz视频网| 婷婷久久免费视频| 久久久精品网| 久久中文字幕一区二区| 日韩一区二区三区高清在线观看| 99久久99久久精品国产片果冰| 青青草伊人久久| 一本一本久久| 麻豆精品蜜桃| 高潮久久久久久久久久久久久久| 日韩一区二区三区四区五区| 天堂网在线观看国产精品| 精品欧美日韩精品| 国产探花在线精品一区二区| 91精品国产91久久久久久黑人| 精品三级av在线导航| 欧美日韩18| 日韩一区网站| 蜜桃久久久久久| 综合激情在线| 亚洲图片久久| 婷婷综合电影| 91精品尤物| 婷婷精品久久久久久久久久不卡| 久久不射中文字幕| 视频一区二区中文字幕| 午夜在线播放视频欧美| 日韩视频精品在线观看| 婷婷丁香综合| 91精品高清| 亚洲欧美激情诱惑| 久色成人在线| 亚州av一区| 国产午夜精品一区在线观看| 欧美aaaaaa午夜精品| 黄色精品视频| 99久久视频| 久久午夜视频| 国产精品对白| av资源亚洲| 久久国产精品亚洲77777| 亚洲精品伊人| 精品一区视频| 欧美va天堂在线| av一区在线| 999在线观看精品免费不卡网站| 午夜宅男久久久| 国产欧美日韩视频在线| 成人黄色av| 亚洲欧美视频| 国产一区2区在线观看| 亚洲免费成人| 精品国产91| 蜜臀91精品一区二区三区| 欧美激情福利| 夜久久久久久| 中文字幕在线官网| 亚洲网址在线观看| аⅴ资源天堂资源库在线| 免费久久精品| 国产精品白丝一区二区三区| 激情久久中文字幕| 精品亚洲a∨| 午夜久久av| 99视频精品全部免费在线视频| 91精品国产自产精品男人的天堂| 日韩美女一区二区三区在线观看| 综合一区av| 日韩视频精品在线观看| 国产精品成人a在线观看| 日韩**一区毛片| 日韩亚洲国产欧美| 日韩欧美精品一区| 国产精品多人| 久色成人在线| 免费视频一区三区| 日本综合字幕| 国产成人精品免费视| 国产调教精品| 日本不卡在线视频| 美女国产精品| 日韩在线播放一区二区| 九九综合九九| 欧美特黄一区| 黄色av日韩| 欧美特黄视频| 日韩精品一级中文字幕精品视频免费观看 | 亚洲专区欧美专区| 欧美高清一区| 国产专区一区| 亚洲女同一区| 石原莉奈一区二区三区在线观看| av不卡在线看| 亚洲精品影视| 97久久超碰|