使用python解压缩rar、zip文件

使用python解压缩rar、zip文件

1 解压缩rar文件

步骤

(1) 导入 unrar 模块:pip install unrar
(2) 下载 unrar library 并按照默认安装路径安装 下载链接
(3) 编辑环境变量:
用户变量:变量名:x64 变量值:C:\Program Files (x86)\UnrarDLL\x64 (默认路径)
系统变量:变量名:UNRAR_LIB_PATH 变量值:C:\Program Files (x86)\UnrarDLL\x64\UnRAR64.dll (默认路径) (32位系统下的变量值为C:\Program Files (x86)\UnrarDLL\UnRAR.dll)
(4) 安装winrar(360软件库有)
将 winrar 的目录下的 unrar.exe 复制到 Python 路径的 Scripts 文件夹下
(5) 重启pycharm

代码

import rarfile
pathRar = ''    # rar文件路径
outputDir = ''  # 指定输出的文件夹路径
z = rarfile.RarFile(pathRar)
z.extractall(outputDir)
z.close()
os.remove(pathRar)

2 解压缩zip文件

解码

使用zipfile的extract()或extractall()方法直接解压时,文件名可能会出现乱码。

代码

import zipfile
# 出现乱码时解码
def recode(raw: str) -> str:
    try:
        return raw.encode('cp437').decode('gbk')

    except:
        return raw.encode('utf-8').decode('utf-8')

zipFile = zipfile.ZipFile(pathZip)          # 压缩包路径
zipFileList = zipFile.namelist()            # 获取压缩包里所有文件
for f in zipFileList:
    zipFile.extract(f, obj)                 # 循环解压文件到指定目录
    name1 = os.path.join(obj, f)            # 乱码文件名
    name2 = os.path.join(obj, recode(f))    # 解码后文件名
    os.rename(name1, name2)                 # 文件重命名
zipFile.close()                             # 关闭文件释放内存
os.remove(pathZip)

参考文档:
https://blog.csdn.net/m0_46172703/article/details/122963919?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166726793316782417053165%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166726793316782417053165&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-122963919-null-null.142v62control,201v3control_2,213v1t3_esquery_v2&utm_term=python%E8%A7%A3%E5%8E%8Brar%E6%96%87%E4%BB%B6&spm=1018.2226.3001.4187

https://blog.csdn.net/m0_68103885/article/details/124609932

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python提供了多种方法和库来进行文件解压缩。其中一种方法是使用zipfile库,它可以用于解压缩zip文件。通过引入zipfile库并使用其中的ZipFile类,我们可以轻松地解压缩zip文件。以下是一个使用zipfile库解压缩zip文件的示例代码: ``` import zipfile # 创建ZipFile对象,指定要解压缩zip文件路径 with zipfile.ZipFile('example.zip', 'r') as zip_ref: # 解压所有文件到指定目录 zip_ref.extractall('unzip_folder') # 注意:此处的'example.zip'是待解压缩zip文件名,'unzip_folder'是要解压缩到的目标文件夹路径 ``` 另外,如果需要解压缩其他类型的文件,比如tar、gz、rar等,可以使用相应的库来进行解压缩。例如,要解压缩.7z文件,可以使用py7zr库,如下所示: ``` import py7zr # 创建SevenZipFile对象,指定要解压缩的.7z文件路径 with py7zr.SevenZipFile('example.7z', 'r') as archive: # 解压缩所有文件到指定目录 archive.extractall(path='unzip_folder') # 注意:此处的'example.7z'是待解压缩的.7z文件名,'unzip_folder'是要解压缩到的目标文件夹路径 ``` 以上代码示例展示了使用zipfile库和py7zr库解压缩文件的过程。根据你的需求和待解压缩文件类型,选择适当的库来进行文件解压缩操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python 文件解压缩](https://blog.csdn.net/weixin_45459224/article/details/127120860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [如何使用Python文件进行压缩与解压缩](https://blog.csdn.net/xff123456_/article/details/123900450)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值