62 lines
2.1 KiB
Python
62 lines
2.1 KiB
Python
import os
|
|
import zipfile
|
|
from pathlib import Path
|
|
|
|
|
|
def extract_zip_to_images():
|
|
"""
|
|
Разархивирует ya_go_maps.zip в папку images.
|
|
"""
|
|
# Определяем пути
|
|
current_dir = Path(__file__).parent
|
|
zip_path = current_dir / "ya_go_maps.zip"
|
|
extract_dir = current_dir
|
|
|
|
# Проверяем существование архива
|
|
if not zip_path.exists():
|
|
print(f"Ошибка: архив не найден: {zip_path}")
|
|
return False
|
|
|
|
# Создаем папку для извлечения, если она не существует
|
|
extract_dir.mkdir(exist_ok=True)
|
|
|
|
try:
|
|
# Открываем архив
|
|
with zipfile.ZipFile(zip_path, "r") as zip_ref:
|
|
# Получаем список файлов в архиве
|
|
file_list = zip_ref.namelist()
|
|
print(f"Найдено {len(file_list)} файлов в архиве")
|
|
|
|
# Извлекаем все файлы
|
|
zip_ref.extractall(extract_dir)
|
|
|
|
# Получаем список извлеченных файлов
|
|
extracted_files = list(extract_dir.rglob("*"))
|
|
image_files = [f for f in extracted_files if f.is_file()]
|
|
|
|
print(f"Успешно извлечено {len(image_files)} файлов в {extract_dir}")
|
|
return True
|
|
|
|
except zipfile.BadZipFile:
|
|
print(f"Ошибка: архив поврежден или не является ZIP-файлом: {zip_path}")
|
|
return False
|
|
except Exception as e:
|
|
print(f"Ошибка при разархивировании: {e}")
|
|
return False
|
|
|
|
|
|
def main():
|
|
"""
|
|
Основная функция для запуска разархивирования.
|
|
"""
|
|
print("Начинаю разархивирование ya_go_maps.zip...")
|
|
|
|
if extract_zip_to_images():
|
|
print("Разархивирование успешно завершено!")
|
|
else:
|
|
print("Разархивирование не удалось.")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|