search_and_extract
/
search_and_extract.py
19 строк · 930.0 Байт
1import os
2import zipfile
3
4def search_and_extract(directory, filename_fragment):
5for root, dirs, files in os.walk(directory):
6for file in files:
7if file.endswith('.zip'):
8try:
9with zipfile.ZipFile(os.path.join(root, file), 'r') as zip_ref:
10for zip_file in zip_ref.namelist():
11if filename_fragment in zip_file:
12print(f"File containing '{filename_fragment}' found in '{file}'")
13zip_ref.extract(zip_file, path=root)
14print(f"File '{zip_file}' extracted from '{file}'")
15except Exception as e:
16print(f"Error processing '{file}': {str(e)}")
17
18# Specify folder and the fragment that contains in file name or full name of a file
19search_and_extract('/path/to/directory', 'fragment or filename.txt')