Назад |
20.10.2025, 09:34:54 |
80
import os, shutil
# Расширения файлов: https://tre.kz/services/extensions
source_dir = 'Files' # исходная папка
target_dir = 'Files_sorted' # куда сортировать
categories = {
'Документы': ['.pdf', '.doc', '.docx', '.xls', '.xlsx', '.ppt', '.pptx', '.txt', '.odt'],
'Видео': ['.mp4', '.avi', '.mkv', '.mov', '.flv', '.wmv'],
'Аудио': ['.mp3', '.wav', '.flac', '.aac', '.ogg', '.wma', '.cda'],
'Изображения': ['.jpg', '.jpeg', '.png', '.gif', '.bmp', '.svg', '.webp'],
'Архивы': ['.zip', '.rar', '.7z', '.tar', '.gz'],
'Программы': ['.exe', '.msi', '.bat', '.cmd', '.py', '.sh'],
}
other_dir = 'Другие'
for cat in categories.keys():
os.makedirs(os.path.join(target_dir, cat), exist_ok=True)
os.makedirs(os.path.join(target_dir, other_dir), exist_ok=True)
for file in os.listdir(source_dir):
path = os.path.join(source_dir, file)
if os.path.isfile(path):
ext = os.path.splitext(file)[1].lower()
moved = False
for category, exts in categories.items():
if ext in exts:
shutil.move(path, os.path.join(target_dir, category, file))
moved = True
break
if not moved:
shutil.move(path, os.path.join(target_dir, other_dir, file))
print('Файлы успешно упорядочены!')