Сортировка (упорядочить) файлов по папкам
Назад  |  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('Файлы успешно упорядочены!')
Поделится:
*текст* - жирный, ~текст~ - курсивный, -текст- - зачеркнутый, _текст_ - подчеркнутый
IP-адрес: 216.73.216.109
Часовой пояс: Asia/Almaty
Подробнее

Сервисы

Страницы

Информация

Сейчас онлайн
Всего на сайте: 3
Пользователи: 0
Гости: 1
Роботы: 2