使用 Python 优雅地将 .rar 转换为 .zip

问题描述 投票:0回答:3

我目前正在对“unrar 和 zip”命令进行系统调用。当遇到需要密码保护的档案时,它会中断并要求我输入密码。

是否可以让它运行并在出现任何错误或密码提示时向主程序返回“不成功”值?

我们可以原生使用 rarfile 和 zipfile 库来完成这项工作而不创建任何临时文件吗?

python zip rar compression
3个回答
2
投票

我认为不使用临时文件很难完成任务。如果您要转换非常大的文件,则需要使用磁盘中的临时空间。

您可以使用 PyUnRAR2 库,它可以让您检查和提取 RAR 存档的文件。您可以将文件提取到使用 tempfile python 模块创建的临时文件夹中。之后使用 zipfile python 模块创建一个 ZIP 文件。

请注意,为了使用 PyUnRAR2,您需要 RAR 专有二进制文件。


0
投票

0
投票

步骤1)pip install patool

步骤2)pip install pyunpack

第3步)编写此代码

从 pyunpack 导入存档

Archive("myfile.rar").extractall(".")

© www.soinside.com 2019 - 2024. All rights reserved.