"[WinError 10054] Существующее соединение было принудительно закрыто удаленным хостом".
В моем примере Структура папок выглядит примерно так:
202404 -> My_Project-(20240412-20240412)-20240413.zip -> My_Project-(20240412-20240412)-20240413.csv
У меня есть много папок с указанием года и месяца, и в каждой из этих папок есть zip-файл на каждый день. И затем в каждом из этих zip-архивов есть CSV-файл.
Я начинаю с просмотра подпапок и проверки, является ли это действительным zip-архивом и соответствует ли он регулярному выражению:
Код: Выделить всё
for subfolder in subfolders:
subfolder_parts = subfolder.split()
subfolder_name = subfolder_parts[-1].strip()
# Check if it's a ZIP file
if subfolder_name.endswith('.zip') and
file_name_pattern.fullmatch(subfolder_name):
logger.info(f"Found ZIP file: {subfolder_name}")
Код: Выделить всё
# Download file to a temporary directory
with tempfile.TemporaryDirectory() as temp_dir:
local_path = os.path.join(temp_dir, subfolder_name)
with open(local_path, "wb") as f:
ftp.retrbinary(f"RETR {subfolder_name}", f.write)
try:
with zipfile.ZipFile(local_path, 'r') as zf:
zf.extractall(temp_dir)
logger.info(f"Extracted: {local_path}")
except Exception as e:
logger.error(f"Error extracting ZIP file {local_path}: {e}")
Подробнее здесь: https://stackoverflow.com/questions/793 ... ing-python