У меня есть следующий каталог, в родительском каталоге есть несколько папок, скажем ABCD, и в каждой папке много zip-архивов с отображаемыми именами и буквой родительской папки, включенной в имя вместе с другой информацией:
-parent--A-xxxAxxxx_timestamp.zip
-xxxAxxxx_timestamp.zip
-xxxAxxxx_timestamp.zip
--B-xxxBxxxx_timestamp.zip
-xxxBxxxx_timestamp.zip
-xxxBxxxx_timestamp.zip
--C-xxxCxxxx_timestamp.zip
-xxxCxxxx_timestamp.zip
-xxxCxxxx_timestamp.zip
--D-xxxDxxxx_timestamp.zip
-xxxDxxxx_timestamp.zip
-xxxDxxxx_timestamp.zip
Мне нужно распаковать только выбранные zip-архивы в этом дереве и поместить их в тот же каталог с тем же именем без расширения .zip.
Выход:
-parent--A-xxxAxxxx_timestamp
-xxxAxxxx_timestamp
-xxxAxxxx_timestamp
--B-xxxBxxxx_timestamp
-xxxBxxxx_timestamp
-xxxBxxxx_timestamp
--C-xxxCxxxx_timestamp
-xxxCxxxx_timestamp
-xxxCxxxx_timestamp
--D-xxxDxxxx_timestamp
-xxxDxxxx_timestamp
-xxxDxxxx_timestamp
Мои усилия:
for path in glob.glob('./*/xxx*xxxx*'): ##walk the dir tree and find the files of interest
zipfile=os.path.basename(path) #save the zipfile path
zip_ref=zipfile.ZipFile(path, 'r')
zip_ref=extractall(zipfile.replace(r'.zip', '')) #unzip to a folder without the .zip extension
Проблема в том, что я не знаю, как сохранить A, B, C, D и т. Д., Чтобы включить их в путь, по которому файлы будут распакованы. Таким образом, в родительском каталоге создаются распакованные папки. Любые идеи?
.
, затем получите список всех файлов внутри каждой папки и проверьте, встречается ли в ней имя папки. - person Anand S Kumar   schedule 17.08.2017