我试图使用zipfile
模块的extractall
方法提取zip文件。我的代码片段是
import zipfile
file_path = '/something/airway.zip'
dir_path = 'something/'
with zipfile.ZipFile(file_path, "r") as zip_ref:
zip_ref.extractall(dir_path)
我有两个zip文件,test(1.1 mb)和airway(520 mb)。对于test.zip,文件夹包含所有文件,但对于Airway .zip,它在我的目标文件夹中创建另一个名为Airway的文件夹,然后提取那里的所有文件。即使将airway.zip重命名为任何垃圾名称,结果也是相同的。
是否有一些解决方案,以获得仅在我的目标文件夹中提取的文件?这对我来说是至关重要的,因为我正在从django
中自动提取这些内容。Python版本:3.9.6;Django版本:2.2
我运行你的代码,它似乎只是一个问题的zipfile本身。如果您通过只选择元素来创建一个zip文件,那么您将得到使用test.zip得到的结果。如果你选择一个文件夹来保存这些元素,那么当你再次解压缩它时,这个文件夹就会在那里,不管你给你的zip文件取什么名字。
我有两篇相关的文章:
- https://www.kite.com/python/docs/zipfile.ZipFile.extractall
- https://www.geeksforgeeks.org/working-zip-files-python/
即使这两篇文章都不能解决你的问题,那么我认为与其将压缩文件在刚刚压缩的文件夹中所以尝试压缩文件夹内的文件。