Я использую текущий код для извлечения файлов из 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
Есть идеи?