我使用 Pycharm 作为我的 IDE(Python 3.7),并试图提取受密码保护的 .rar 文件(我知道密码)并从 unrar 导入了 rarfile,但出现此错误“LookupError: 找不到 unrar 库的路径.”
我还尝试将导入语句更改为仅说“导入 rarfile”,但出现以下错误“rarfile.RarCannotExec:未安装 Unrar?”
我还尝试根据我在 rarfile 文档中找到的内容包含这行代码:rarfile.UNRAR_TOOL = "unrar"但是我遇到了同样的错误。
这是我的代码片段:
from unrar import rarfile
def hacker(file_path):
passwords = open('pwds.txt', 'r')
with rarfile.RarFile(file_path) as file:
for line in passwords:
try:
file.pwd = line
file.extractall()
except RuntimeError:
pass
Run Code Online (Sandbox Code Playgroud) 我想学习如何在Android中解压缩.rar文件。可以使用ZipStream轻松解压缩Zip文件。rar文件是否有任何类似的方法。
1)我有一个名为CCBuilds的文件夹,其中包含此路径中的几个文件 - > E:\ Testing\Builds\CCBuilds.
2)我已将C#代码(Process.Start)写入Rar此文件夹并使用以下命令将其保存在E:\ Testing\Builds\CCBuilds.rar中
"C:\ program files\winrar\rar.exe a E:\ Testing\Builds\CCBuilds.rar E:\ Testing\Builds\CCBuilds"
3)问题是,虽然rar文件被正确创建,但是当我将文件解压缩到CCBuilds2文件夹时(通过代码使用"rar.exe x"命令或使用上下文菜单中的Extract),unrared文件夹包含完整路径:ie:提取E:\ Testing\Builds\CCBuilds.rar - > E:\ Testing\Builds\CCBuilds2\Testing\Builds\CCBuilds\<>
虽然我希望它是这样的:E:\ Testing\Builds\CCBuilds2\CCBuilds\<>
如何在添加rar/extract返回时避免此完整路径持久性.任何帮助表示赞赏.
我有 7 个扩展名为 xyz.rar.001 - xyz.rar.007 的文件,显然它们是单个文件的一部分。我有所有的 7 个部分。我使用文件连接器将它们加入单个文件 xyz.rar 并尝试使用 WINRAR 解压缩它们,它说存档已损坏 很明显 1 或 2 个部分已损坏。有什么办法可以找到它们吗?请帮助我不想重新下载所有这些注意-如果使用 winrar 拆分部件(带有 part1.rar、part2.rar 等扩展名),winrar 可以检测到损坏的部件,但如果它们被命名为 rar 则不行.001
如果在 Ubuntu 或 Centos 上使用 RAR,这是用于压缩单个文件夹(其中包含子文件夹)的命令,或者是用于将目录中的所有文件夹压缩到单个存档中的命令:
rar a -m0 -r name.rar
Run Code Online (Sandbox Code Playgroud)
在哪里
-m0是压缩级别
-r递归模式
但是如果我想压缩每个文件夹呢?要使用哪些命令?
我想在压缩每个文件夹时保留目录树。
我也试过这个命令,
for folder in */; do echo rar a -m0 -r "${folder%/}.rar" "$folder"; done
Run Code Online (Sandbox Code Playgroud)
但它没有给我任何动作,但在终端中显示如下:
user@hppro ~
$ ls -l
total 3
drwxr-xr-x+ 1 user None 0 Aug 2 03:17 abcd_dir
drwxr-xr-x+ 1 user None 0 Aug 2 03:18 defgh_dir
-rwx------ 1 user None 86 Dec 24 2020 blahfile
user@hppro ~
$ for folder in */; do echo rar a -m0 -r …Run Code Online (Sandbox Code Playgroud) 我需要解压缩zip和rar档案,这也必须是一个多平台解决方案。
在R中,您可以通过命令轻松解压缩zip
unzip(filename, exdir=‘’)
Run Code Online (Sandbox Code Playgroud)
但是我发现我不能那样解压缩rar文件。在OS XI上,只要我以这种方式配置了unarchiver,就可以简单地打开归档文件来解压缩它:
system(paste("open", path))
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索,可以安装7zip并从控制台解压缩,所以我尝试了Windows的安装程序包
require(installr)
install.7zip()
system(paste("7z x", path))
Run Code Online (Sandbox Code Playgroud)
但我得到警告,什么也没发生
running command '7z x 1.rar’ had status 127
Run Code Online (Sandbox Code Playgroud)
和Unix的终端命令
system('sudo apt-get install p7zip-rar')
system(paste("7z x ", path))
Run Code Online (Sandbox Code Playgroud)
但是它用sudo返回了错误
sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud) 因此,我试图使用Python中的rarfile库来归档.rar文件,但它一直说“无法打开”。我正在使用Mac OS X El Capitan,python 2.7。任何帮助,将不胜感激,谢谢。
原始代码:
rf = RarFile('test.rar')
rf.extractall()
Run Code Online (Sandbox Code Playgroud)
错误信息:
File "Test.py", line 271, in <module>
rf.extractall()
File "/Users/user/Library/Python/2.7/lib/python/site-packages/rarfile.py", line 679, in extractall
self._extract(fnlist, path, pwd)
File "/Users/user/Library/Python/2.7/lib/python/site-packages/rarfile.py", line 1238, in _extract
check_returncode(p, output)
File "/Users/user/Library/Python/2.7/lib/python/site-packages/rarfile.py", line 1961, in check_returncode
raise exc(msg)
rarfile.RarUnknownError: Unknown exit code [1]: bsdtar: Error opening archive: Failed to open '--'
Run Code Online (Sandbox Code Playgroud) 我正在编写 Java 应用程序的一部分,负责读取不同格式的存档文件并准备预览模式。
Junrar 库似乎是使用 RAR 格式最可靠的库,但它不支持最新版本 5 的 rar。仅支持早期版本。
Junrar 开发团队在这里确认了这一事实: https ://github.com/junrar/junrar/issues/23
Winrar 默认情况下会创建版本 5 的 rar 文件,但属性中的复选框“RAR4”有助于创建版本 4 的文件 - 这非常适合使用。但每次归档文件时都必须单击它 - 这不是一个好方法(早期版本的 Winrar 无法从官方网站下载)。
在我的例子中,文件存储为字节数组。我不需要解压文件,我只是读取它 - 我需要其中每个文件的“名称”和“大小” - 因此我将存档内容的预览数据准备为一个小的 HTML 表。
您知道还有其他可以处理 Rar 格式的好库吗?我找不到任何。或者也许您可以想象一些好的解决方法?
我正在尝试打开一个 rar 文件并从中读取 csv。它给出了标题中的错误。我将 unrar.exe 复制到 Windows 路径,因此通过了 setup_tools 问题,但现在有了这个问题。
我可以打开 rar 文件并查看里面的内容。唯一的问题是当我尝试阅读它时。
with rarfile.RarFile(self.rarpath) as rf:
with rf.open(stock_path) as f:
print(f.readline())
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我想.rar通过传递要归档文件的文件路径来创建文件。
我已经尝试过了rarfile。但是它没有'w'写入rarfile处理程序的选项。
还有其他办法吗?