cкрипт как расфасовать все файлы по директориям автоматически

Раньше у меня была настоящая головная боль с этими файлами. Они просто накапливались в одной большой куче, и я никак не могла разобраться, где что лежит. Но теперь, стоит мне запустить этот чудо-скрипт, и все файлы сами расфасовываются по соответствующим папкам! Фотографии отправляются в папку «Фото», документы - в папку «Документы», а музыка - в папку «Музыка». Это просто потрясающе! Я больше не трачу часы на то, чтобы вручную переносить файлы туда-сюда. Так что не ждите, действуйте прямо сейчас. Загрузите этот скрипт и насладитесь чистотой и организованностью на своем рабочем столе. Вы не пожалеете, обещаю!

#Это оператор импорта,
#который позволяет использовать функции и методы из модуля os.
#Модуль os предоставляет функции
#для работы с операционной системой,
#такие как создание и удаление файлов, р
#абота с путями к файлам и папкам, управление процессами и т.д.
import os
#Это оператор импорта,
#который позволяет использовать функции и методы из модуля shutil.
#Модуль shutil предоставляет высокоуровневые операции
#для работы с файлами и папками,
#такие как копирование, перемещение и удаление.
import shutil

# Функция для создания папки, если её нет
# Это объявление функции с именем create_folder_if_not_exists,
#которая принимает один аргумент folder_name.
def create_folder_if_not_exists(folder_name):
    #Это условный оператор if, который проверяет,
    #существует ли папка с именем,
    #переданным в качестве аргумента функции.
    #Функция os.path.exists()
    #возвращает True, если папка существует, и False, если нет.
    if not os.path.exists(folder_name):
        #Эта строка создает новую папку с именем folder_name,
        #если она не существует.
        #Функция os.makedirs() создает все промежуточные папки,
        #если они отсутствуют в пути.
        os.makedirs(folder_name)

# Функция для перемещения файла в папку
def move_file_to_folder(file, folder_name):
    shutil.move(file, folder_name)

# Имя вашего скрипта
script_file_name = "kladmen.exe"

# Определение папок для различных типов файлов
folders = {
    "Изображения": [".jpg", ".jpeg", ".png", ".gif"],
    "Музыка": [".mp3", ".wav", ".flac", ".ogg"],
    "Документы": [".doc", ".docx", ".pdf", ".txt"],
    "Видео": [".mp4", ".avi", ".mov", ".mkv"],
    "Установочные пакеты": [".exe", ".dll"],
    "Мобильные пакеты": [".apk", ".apks"],
    "Скрипты": [".py", ".pl"],
    "Архивы": [".zip", ".rar", ".7z"],
    "Таблицы": [".xlsx", ".xls", ".xlsm"],
    "Презентации": [".pptx"],
    "Торренты": [".torrent"]
    # Добавьте другие типы файлов по аналогии
    
}

# Получаем список файлов в текущей директории
files = os.listdir()
# Добавляем папку "Другое" для остальных файлов
other_files_folder = "Другое"
# Перебираем файлы и перемещаем их в соответствующие папки
for file in files:
    # Убеждаемся, что это файл, а не папка, и не является скриптом
    if os.path.isfile(file) and file != script_file_name:
        #Эта строка кода извлекает расширение файла file
        #с помощью функции os.path.splitext()
        #и сохраняет его в переменной file_extension.
        file_extension = os.path.splitext(file)[1]
        #Эта строка кода устанавливает переменную file_moved
        #в значение False. Она будет использоваться позже
        #для отслеживания того,
        #был ли файл перемещен в какую-либо папку.
        file_moved = False
        #Это начало цикла for, который перебирает
        #элементы словаря folders.
        #В каждой итерации переменная folder_name
        #будет содержать ключ (имя папки),
        #а переменная extensions будет содержать значение
        #(список расширений файлов для этой папки).
        for folder_name, extensions in folders.items():
            #Этот оператор условия проверяет,
            #содержится ли расширение файла file в списке расширений (extensions)
            #для текущей папки (folder_name).
            #Если условие выполняется, то выполняются следующие строки кода.
            if file_extension.lower() in extensions:
                #Вызывается функция create_folder_if_not_exists(),
                #которая создает папку с именем folder_name, если она еще не существует.
                create_folder_if_not_exists(folder_name)
                # Вызывается функция move_file_to_folder(),
                #которая перемещает файл file в папку с именем folder_name.
                move_file_to_folder(file, folder_name)
                #Выводится сообщение о том, что файл file был перемещен в папку folder_name.
                print(f"{file} переместился в папку {folder_name}")
                #Устанавливается переменная file_moved в значение True,
                #чтобы указать, что файл был перемещен.
                file_moved = True
                #Этот оператор прерывает цикл for,
                #чтобы не продолжать перебирать остальные папки,
                #после того как файл был успешно перемещен.
                break
        # Этот оператор условия проверяет, был ли файл перемещен в какую-либо папку.
        #Если файл не был перемещен, то выполняются следующие строки кода.
        if not file_moved:
            #Вызывается функция create_folder_if_not_exists(),
            #которая создает папку с именем other_files_folder, если она еще не существует.
            create_folder_if_not_exists(other_files_folder)
            #Вызывается функция move_file_to_folder(), которая перемещает файл file
            #в папку с именем other_files_folder.
            move_file_to_folder(file, other_files_folder)
            print(f"{file} переместился в папку {folder_name}")
print("Перемещение файлов выполненно!")
На главную YouTube Telegram Предыдущая страница Следующая страница