Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import os
- import shutil
- from pathlib import Path
- def copy_media_files(src_folder, dest_folder):
- # Определение форматов файлов для поиска
- image_formats = ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.tiff', '.ico', '.jfif', '.webp']
- video_formats = ['.mp4', '.mkv', '.flv', '.avi', '.mov', '.wmv', '.m4v', '.webm', '.vob', '.mpg', '.mpeg']
- media_formats = image_formats + video_formats
- # Создание папки назначения, если она не существует
- Path(dest_folder).mkdir(parents=True, exist_ok=True)
- # Обход всех папок и подпапок
- for dirpath, dirnames, filenames in os.walk(src_folder):
- for filename in filenames:
- # Проверка формата файла
- if Path(filename).suffix.lower() in media_formats:
- src_file_path = os.path.join(dirpath, filename)
- dest_file_path = os.path.join(dest_folder, filename)
- # Проверка наличия файла с таким же именем в папке назначения
- # и при необходимости добавление суффикса
- if Path(dest_file_path).exists():
- base_name = Path(filename).stem
- ext = Path(filename).suffix
- i = 1
- while Path(dest_file_path).exists():
- dest_file_path = os.path.join(dest_folder, f"{base_name}_{i}{ext}")
- i += 1
- # Копирование файла
- shutil.copy2(src_file_path, dest_file_path)
- # Использование функции
- src_folder = 'путь_к_исходной_папке'
- dest_folder = 'путь_к_целевой_папке'
- copy_media_files(src_folder, dest_folder)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement