Мне нужен только один подтекст в каждом из 500 zipfiles, пути такие же, как:Как скопировать файл в zipfile в определенный каталог?
120132.zip/A/B/C/target_file
212332.zip/A/B/C/target_file
....
Как скопировать все эти целевые файлы в один каталог? Сохраняя весь путь в новый каталог будет лучшее, что я имею в виду:
target_dir/
120132/A/B/C/target_file
212332/A/B/C/target_file
......
Я пробовал с модулями Python ZipFile и shutil
Однако CopyFile из shutil принимает весь путь как аргумент, но когда я попытался напрямую скопировать целевой файл, он поднимет ошибку filenotfind. При распаковке zipfile.Zipfile целевой файл будет доступен, но copyfile становится недействительным.
Как я могу сделать это правильно и эффективно?
Да! Это то, чего я хочу! extract() имеет смысл. Спасибо! – Spike
Я столкнулся с другой проблемой. Я выполнил «zf.extract (r« A \ B \ C \ имя_файла », ..)» на окнах, но это не удалось, сказав: «Нет элемента с именем« A \\\\ B \\\\ C \\ \\имя файла'". Не могли бы вы дать мне совет? @falsetru – Spike
@Spike, вы уверены, что все zip-файлы содержат этот файл? Сбой с самого начала? Возможно, вам придется проверить его перед вызовом 'extract' или использовать' try ... except ...'. – falsetru