我有一个用于提取过程的代码。首先,我为 zip 文件制作了它,但我发现我也有 rar 文件。所以,我安装了 rarfile 库并实现了提取过程。
但是,该代码似乎引发了异常,因为扫描的第一个文件是 .zip 文件。这解释了,我猜,为什么我有这个错误:
raise NotRarFile("Not a Rar archive: "+self.rarfile)
NotRarFile: Not a Rar archive: /Users/me/Downloads/_zips/test2/Break_The_Bans_-_Covers__B-sides.zip
提取代码如下:
for ArchivesFiles in chemin_zipfiles :
truncated_file = os.path.splitext(os.path.basename(ArchivesFiles))[0]
if not os.path.exists(truncated_file):
os.makedirs(truncated_file)
rar_ref = rarfile.RarFile(ArchivesFiles,'r')
zip_ref = zipfile.ZipFile(ArchivesFiles,'r')
new_folder = os.path.realpath(truncated_file)
rar_ref.extractall(new_folder)
zip_ref.extractall(new_folder)
在调用此代码之前,我检索了所有带有 .zip 和 .rar 扩展名的文件:
chemin_zipfiles = [os.path.join(root, name)
for root, dirs, files in os.walk(directory)
for name in files
if name.endswith((".zip", ".rar"))]
那我怎么能在同一个过程和功能中解压缩和解压缩呢?我哪里错了?非常感谢