Рубрики

Junk File Organizer в Python

По сути, как ленивый программист, мой рабочий стол полон файлов (Junk Files). Из-за большого количества файлов, это сложная задача, чтобы сидеть и организовывать каждый файл. Чтобы упростить эту задачу, вам пригодится приведенный ниже скрипт Python, и все файлы упорядочены в течение нескольких секунд.

Снимок экрана перед запуском скрипта


Ниже приведены шаги, которые необходимо выполнить:

  1. Создать словари: код ниже создаст определенные каталоги.
    DIRECTORIES = {
        "HTML": [".html5", ".html", ".htm", ".xhtml"],
        "IMAGES": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg",
                   ".heif", ".psd"],
        "VIDEOS": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng",
                   ".qt", ".mpg", ".mpeg", ".3gp"],
        "DOCUMENTS": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods",
                      ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox",
                      ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt",
                      "pptx"],
        "ARCHIVES": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z",
                     ".dmg", ".rar", ".xar", ".zip"],
        "AUDIO": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3",
                  ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"],
        "PLAINTEXT": [".txt", ".in", ".out"],
        "PDF": [".pdf"],
        "PYTHON": [".py"],
        "XML": [".xml"],
        "EXE": [".exe"],
        "SHELL": [".sh"]
    
    }
    
  2. Сопоставление: теперь мы сопоставим форматы файлов с каталогом.
    FILE_FORMATS = {file_format: directory
                    for directory, file_formats in DIRECTORIES.items()
                    for file_format in file_formats}
    

    Здесь мы сопоставляем расширения файлов с каталогом.

    def organize_junk():
        for entry in os.scandir():
            if entry.is_dir():
                continue
            file_path = Path(entry)
            file_format = file_path.suffix.lower()
            if file_format in FILE_FORMATS:
                directory_path = Path(FILE_FORMATS[file_format])
                directory_path.mkdir(exist_ok=True)
                file_path.rename(directory_path.joinpath(file_path))
    
            for dir in os.scandir():
                try:
                    os.rmdir(dir)
                except:
                    pass
    

    Вышеупомянутая функция проверит существующий каталог на то же имя, которое мы определили. Если существующий каталог найден, он продолжится или будет создан новый каталог. И он будет классифицировать все файлы на основе расширения в соответствующей папке.

  3. Организация: Ниже приведен код для Python Lazy Junk Files Organizer. Он организует все в соответствующей папке за один раз и удаляет пустые каталоги.

    import os

    from pathlib import Path

      

    DIRECTORIES = {

        "HTML": [".html5", ".html", ".htm", ".xhtml"],

        "IMAGES": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg",

                   ".heif", ".psd"],

        "VIDEOS": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng",

                   ".qt", ".mpg", ".mpeg", ".3gp"],

        "DOCUMENTS": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods",

                      ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox",

                      ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt",

                      "pptx"],

        "ARCHIVES": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z",

                     ".dmg", ".rar", ".xar", ".zip"],

        "AUDIO": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3",

                  ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"],

        "PLAINTEXT": [".txt", ".in", ".out"],

        "PDF": [".pdf"],

        "PYTHON": [".py"],

        "XML": [".xml"],

        "EXE": [".exe"],

        "SHELL": [".sh"]

      
    }

      

    FILE_FORMATS = {file_format: directory

                    for directory, file_formats in DIRECTORIES.items()

                    for file_format in file_formats}

      

    def organize_junk():

        for entry in os.scandir():

            if entry.is_dir():

                continue

            file_path = Path(entry)

            file_format = file_path.suffix.lower()

            if file_format in FILE_FORMATS:

                directory_path = Path(FILE_FORMATS[file_format])

                directory_path.mkdir(exist_ok=True)

                file_path.rename(directory_path.joinpath(file_path))

      

            for dir in os.scandir():

                try:

                    os.rmdir(dir)

                except:

                    pass

      

    if __name__ == "__main__":

        organize_junk()

    Сохраните приведенный выше скрипт как orgjunk.py . Например, вы хотите организовать файлы на рабочем столе, затем скопируйте и вставьте файл orgjunk.py на рабочем столе и запустите.

  4. Скриншот после запуска скрипта

Эта статья предоставлена Srce Cde . Если вам нравится GeeksforGeeks и вы хотели бы внести свой вклад, вы также можете написать статью, используя contrib.geeksforgeeks.org, или отправить свою статью на электронный адрес contrib@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Junk File Organizer в Python

0.00 (0%) 0 votes