最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)rar解壓和壓縮的方法(附源碼)

 更新時間:2023年10月27日 15:45:17   作者:韓半仙  
數(shù)據(jù)量現(xiàn)在越來越大,壓縮文件在日常生活中很常用,這篇文章主要給大家介紹了關(guān)于python實現(xiàn)rar解壓和壓縮的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1、前期準備

python解壓rar格式文件,需要安裝rarfile模塊,去網(wǎng)上下載rarfile,我這里下載的是rarfile-2.4.tar.gz,解壓還需要對應(yīng)的UnRAR.exe

2、工具安裝

 將rarfile-2.4.tar.gz拷貝到python安裝路徑的Scripts目錄下:

cmd進入到python的Scripts目錄下運行pip install rarfile-2.4.tar.gz,安裝成功如下圖:

3、解壓rar

import os
import rarfile

base_path = r'F:\python\rar'
def unrar(base_path):
    files = os.listdir(base_path)
    files.sort()
    for path in files:
        full_path = os.path.join(base_path, path)
        print(full_path)
        z = rarfile.RarFile(full_path)
        z.extractall(base_path)
        z.close()
        os.remove(full_path)

4、壓縮rar文件

def compress(input_file, output_file, root_path,
        rar_path='D:/"Program Files"/WinRAR/WinRAR.exe'):
    """
    調(diào)用CMD命令壓縮文件/文件夾
    Parameters
    ----------
    input_file : 需要壓縮的文件/文件夾名。從哪一級目錄開始,就會從哪一級開始壓縮;
    output_file : 壓縮文件的輸出路徑及其壓縮的文件名;
        可以是.rar, .zip;
    root_path: input_file 所在目錄;
    rar_path : WinRAR軟件的安裝路徑,
        The default is 'C:/"Program Files"/WinRAR/WinRAR.exe'.
        
    NOTE: 路徑和文件名中帶空格的時候一定要多加一重引號??!
    """
    cmd_command = r'%s a %s %s' % (rar_path, output_file, input_file)
    print(root_path)
    os.chdir(root_path) # 切換工作目錄
    print(cmd_command)
    os.system(cmd_command)
    
    if os.system(cmd_command)==0:
        print('Successful backup to', output_file)
    else:
        print('Backup FAILED', input_file) 

def rar(paths):
    files = os.listdir(paths)
    for path in files:
        input_file = '"' + path + '"'
        out = path.split('.')[0] + '_bak.rar'
        out_file = '"' + out + '"'
        print(path)
        print(out)
        compress(input_file,out_file,paths)
def main():
            unrar(base_path)
            rar(base_path)

if __name__ == "__main__":
    main()

【注意】:

需要將UnRAR.exe文件放到和python腳本統(tǒng)計目錄下,否則雖然腳本運行成功,但是不會生成解壓后的文件

附:Python批量壓縮解壓文件(zip、rar)

# -*- coding: utf-8 -*-
"""
@Time : 2023/8/28 14:47
@Auth : RS迷途小書童
@File :Compress and Decompress Folders.py
@IDE :PyCharm
@Purpose:批量壓縮/解壓文件夾
"""
import os
import zipfile
 
def Compress_path_zip(path_all):
    path_all_list = os.listdir(path_all)
    # 列出總文件夾內(nèi)所有需要壓縮的文件夾
    for path_each in path_all_list:
        path_compress = os.path.join(path_all, path_each)
        # 待壓縮的絕對路徑
        if os.path.isdir(path_compress):
            print("正在壓縮:%s" % path_each)
            # 遍歷所有需要壓縮的文件夾
            if os.path.exists(path_all + "%s.zip" % path_each):
                print(path_all + "%s1.zip" % path_each+"已存在,新文件名為'%s'" % (path_all + "%s1.zip" % path_each))
                zip_file = zipfile.ZipFile(path_all + "%s1.zip" % path_each, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
                # 創(chuàng)建的壓縮對象用于執(zhí)行后續(xù)操作
                # file_list = zip_file.namelist()
                # 列出壓縮文件夾中所有文件
            else:
                zip_file = zipfile.ZipFile(path_all + "%s.zip" % path_each, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
            file_list = os.listdir(path_compress)
            # 待壓縮文件夾內(nèi)所有文件
            # zip_file.setpassword(b'123')
            for file_each in file_list:
                # 遍歷所有文件夾內(nèi)的文件
                file_path = os.path.join(path_compress, file_each)
                zip_file.write(file_path, file_each)
            zip_file.close()
        else:
            print(path_each, "不是文件夾,不進行壓縮")
            continue
 
def Decompress_path_zip(path_all):
    path_all_list = os.listdir(path_all)
    for path_each in path_all_list:
        # 遍歷所有需要壓縮的文件夾
        if path_each.endswith('.zip'):
            print("正在解壓:%s" % path_each)
            path_decompress = os.path.join(path_all, path_each)
            zip_file = zipfile.ZipFile(path_decompress, 'r')  # 壓縮文件位置
            for file in zip_file.namelist():
                if os.path.exists(path_decompress[:-4]):
                    print("'%s'" % path_decompress[:-4], "已存在,新文件名為'%s'" % (path_decompress[:-4] + "1"))
                    zip_file.extract(file, path_decompress[:-4] + "1")  # 解壓位置,pwd="1234".encode('utf-8')
                else:
                    zip_file.extract(file, path_decompress[:-4])  # 解壓位置
            zip_file.close()
        else:
            print(path_each, "非zip文件,不進行解壓!")
            continue
 
if __name__ == "__main__":
    path = "G:/try/"
    # Compress_path_zip(path)
    Decompress_path_zip(path)

總結(jié)

到此這篇關(guān)于python實現(xiàn)rar解壓和壓縮的文章就介紹到這了,更多相關(guān)python rar解壓和壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?tuple方法和string常量介紹

    Python?tuple方法和string常量介紹

    這篇文章主要介紹了Python?tuple方法和string常量,文章基于python的相關(guān)資料展開詳細內(nèi)容,對初學(xué)python的通知有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • 使用Python編寫一個沙箱隔離功能

    使用Python編寫一個沙箱隔離功能

    這篇文章主要為大家詳細介紹了如何通過?Docker?實現(xiàn)一個簡單的沙箱隔離應(yīng)用,然后提供一個通過?Python?模擬沙箱的例子,感興趣的可以了解下
    2024-12-12
  • Python中inplace、subset參數(shù)的意義及說明

    Python中inplace、subset參數(shù)的意義及說明

    這篇文章主要介紹了Python中inplace、subset參數(shù)的意義及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python WSGI的深入理解

    Python WSGI的深入理解

    這篇文章主要給大家介紹了關(guān)于Python WSGI的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • 本地部署Python?Flask并搭建web問答應(yīng)用程序框架實現(xiàn)遠程訪問的操作方法

    本地部署Python?Flask并搭建web問答應(yīng)用程序框架實現(xiàn)遠程訪問的操作方法

    Flask是一個Python編寫的Web微框架,使用Python語言快速實現(xiàn)一個網(wǎng)站或Web服務(wù),本期教程我們使用Python Flask搭建一個web問答應(yīng)用程序框架,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具將我們的應(yīng)用程序發(fā)布到公共網(wǎng)絡(luò)上,實現(xiàn)可多人遠程進入到該web應(yīng)用程序訪問,需要的朋友可以參考下
    2023-12-12
  • python3使用迭代生成器實現(xiàn)減少內(nèi)存占用

    python3使用迭代生成器實現(xiàn)減少內(nèi)存占用

    這篇文章主要介紹了python3使用迭代生成器實現(xiàn)減少內(nèi)存占用的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • 基于Python的GUI圖形用戶界面編程詳細講解

    基于Python的GUI圖形用戶界面編程詳細講解

    GUI圖形用戶界面編程,我們可以通過python提供的豐富的組件,快速的實現(xiàn)使用圖形的界面和用戶交互, GUI編程類似于“搭積?”,將?個個組件(Widget)放到窗?中,這篇文章主要給大家介紹了基于Python的GUI圖形用戶界面編程的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python 文件常數(shù)引用問題小結(jié)

    Python 文件常數(shù)引用問題小結(jié)

    Python 是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言,本文給大家介紹Python 文件常數(shù)引用問題小結(jié),感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • Python pip安裝第三方庫實現(xiàn)過程解析

    Python pip安裝第三方庫實現(xiàn)過程解析

    這篇文章主要介紹了Python pip安裝第三方庫實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • python把數(shù)據(jù)框?qū)懭隡ySQL的方法

    python把數(shù)據(jù)框?qū)懭隡ySQL的方法

    這篇文章主要介紹了如何讓python把數(shù)據(jù)框?qū)懭隡ySQL,下文利用上海市2016年9月1日公共交通卡刷卡數(shù)據(jù)的一份數(shù)據(jù)單展開其方法,需要的小伙伴可以參考一下
    2022-03-03

最新評論

当阳市| 惠州市| 泸溪县| 蒲城县| 页游| 大埔区| 灌云县| 丘北县| 辽源市| 镇坪县| 怀集县| 天峻县| 新沂市| 黄冈市| 观塘区| 绥滨县| 龙岩市| 扶风县| 凉城县| 东辽县| 洛宁县| 胶南市| 海口市| 军事| 扶余县| 宁远县| 固镇县| 桐城市| 静海县| 甘德县| 峨眉山市| 台东市| 高青县| 临猗县| 麟游县| 错那县| 大冶市| 绥中县| 叙永县| 常山县| 横山县|