天天看點

Python自動化辦公:幾行代碼實作檔案自動分類,告别混亂檔案夾

作者:人工智能取經人

在日常工作中,我們經常會遇到這樣一個問題:大量的檔案被随意存放在同一個檔案夾中,導緻檔案查找變得異常困難,甚至需要花費大量時間去手動整理。這種混亂的檔案夾管理方式不僅影響了工作效率,也增加了出錯的可能性。

不過,現在有了Python這個強大的自動化辦公工具,我們可以輕松解決這個問題。通過編寫簡單的Python腳本,我們可以根據檔案類型自動将檔案分類,讓檔案夾變得井井有條。

import os
import shutil


def classify_files(directory, destination_directory, config):
    """
    将目錄下的檔案按照配置中的字尾分類到不同的檔案夾中。


    Args:
    - directory: 要分類的目錄路徑
    - destination_directory: 分類後檔案夾的目标路徑
    - config: 包含字尾、目标檔案夾和操作辨別的元組的配置清單
              格式為 [('字尾1', '目标檔案夾1', '移動/複制'), ('字尾2', '目标檔案夾2', '移動/複制'), ...]
    """
    # 周遊目錄下的所有檔案
    for root, dirs, files in os.walk(directory):
        for file in files:
            # 擷取檔案的絕對路徑
            file_path = os.path.join(root, file)
            # 擷取檔案字尾
            _, extension = os.path.splitext(file)
            extension = extension.lower()  # 統一轉換為小寫


            # 在配置清單中查找字尾對應的配置項
            for ext, dest, action in config:
                if extension == ext:
                    destination_folder = os.path.join(destination_directory, dest)
                    # 如果目标檔案夾不存在,則建立它
                    if not os.path.exists(destination_folder):
                        os.makedirs(destination_folder)
                    # 執行移動或複制操作
                    if action == '移動':
                        shutil.move(file_path, destination_folder)
                    elif action == '複制':
                        shutil.copy(file_path, destination_folder)


if __name__ == "__main__":
    # 配置檔案字尾、目标檔案夾和操作辨別的元組清單
    file_extension_config = [
        ('.txt', 'TextFiles', '移動'),
        ('.jpg', 'ImageFiles', '複制'),
        ('.png', 'ImageFiles', '複制'),
        ('.jpeg', 'ImageFiles', '移動'),
        ('.mp3', 'AudioFiles', '移動'),
        ('.mp4', 'AudioFiles', '複制')
        # 可以根據需要擴充更多的字尾、目标檔案夾和操作辨別的元組
    ]


    # 要分類的目錄路徑
    source_directory = "D:\\AI\\massdir"
    # 分類後檔案夾的目标路徑
    destination_directory = "./path/classify"
    if not os.path.exists(destination_directory):
        os.makedirs(destination_directory)
    # 調用分類函數
    classify_files(source_directory, destination_directory, file_extension_config)           

代碼運作效果

整理前

Python自動化辦公:幾行代碼實作檔案自動分類,告别混亂檔案夾

整理後

Python自動化辦公:幾行代碼實作檔案自動分類,告别混亂檔案夾
Python自動化辦公:幾行代碼實作檔案自動分類,告别混亂檔案夾

當然,這個腳本隻是一個簡單的示例,你可以根據自己的需求進行靈活配置。比如,你可以根據需要添加更多的檔案類型,或者将檔案移動到目标檔案夾而不是複制。此外,你還可以考慮添加一些錯誤處理的邏輯,以處理可能出現的異常情況。

總之,通過Python自動化辦公,我們可以輕松實作檔案自動分類,讓工作變得更加高效和有序。隻需要幾行簡單的代碼,就能告别混亂的檔案夾,享受更加愉快的辦公體驗!

繼續閱讀