我正在使用当前的代码从一个zip文件中提取文件,并保持目录结构:
zip_file = zipfile.ZipFile('archive.zip', 'r')
zip_file.extractall('/dir/to/extract/files/')
zip_file.close()
以下是一个示例zip文件的结构:
/dir1/file.jpg
/dir1/file1.jpg
/dir1/file2.jpg
最终我希望得到以下内容:
/dir/to/extract/file.jpg
/dir/to/extract/file1.jpg
/dir/to/extract/file2.jpg
但是只有当zip文件具有一个包含所有文件的顶层文件夹时,它才应该忽略,因此当我解压缩具有以下结构的zip文件时:
/dir1/file.jpg
/dir1/file1.jpg
/dir1/file2.jpg
/dir2/file.txt
/file.mp3
应该保持这样的状态:
/dir/to/extract/dir1/file.jpg
/dir/to/extract/dir1/file1.jpg
/dir/to/extract/dir1/file2.jpg
/dir/to/extract/dir2/file.txt
/dir/to/extract/file.mp3
有任何想法吗?