欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python根據(jù)文件后綴實現(xiàn)文件夾整理

 更新時間:2024年02月06日 09:39:50   作者:微小冷  
這篇文章主要為大家詳細介紹了Python如何根據(jù)文件后綴實現(xiàn)文件夾整理,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的可以參考下

文件類型字典

根據(jù)熵增原理,我們的文件夾在經(jīng)過一段時間之后會變得混亂不堪,尤其是桌面和下載文件夾,找個東西會十分費勁,特別影響效率,所以用Python做一個文件夾整理小工具還是很有必要的。

而最常見的整理方法,就是按照文件類型,比如按照下表對文件進行歸類

文件夾文件類別
圖片“.jpg”, “.png”, “.jpeg”, “.gif”
視頻“.mp4”, “.mkv”
音樂“.mp3”, “.wav”
文檔“.pdf”
文本“.csv”, “.txt”
源碼“.py”, “.c”, “.cpp”, “.php”
office“.docx”,“.xlsx”, “.pptx”, “.doc”, “.ppt”, “.xls”
壓縮包“.zip”, “.tgz”, “.rar”, “.tar”, “.7z”
安裝包“.msi”, “.exe”

為了實現(xiàn)這個目標,可以先做一個文件類型字典,來綁定文件類型和后綴

fDct = {
    "圖片"  : [".jpg", ".png", ".jpeg", ".gif"],
    "視頻"  : [".mp4", ".mkv"],
    "音樂"  : [".mp3", ".wav"],
    "文檔"  : [".pdf"],  
    "文本"  : [".csv", ".txt"],
    "源碼"  : [".py", ".c", ".cpp", ".php"],
    "office": [".docx",".xlsx", ".pptx", ".doc", ".ppt", ".xls"],
    "壓縮包": [".zip", ".tgz", ".rar", ".tar", ".7z"],
    "安裝包": [".msi", ".exe"],
}

而文件整理的邏輯是,先創(chuàng)建圖片、視頻等文件夾,然后通過文件的后綴找到其對應的文件類別,然后移動到相應的文件夾。為了更加便捷地實現(xiàn)這個功能,做一個反向的字典,用以通過后綴返回文件夾

exDct = {}
for key in fDct:
    exDct.update({ex:key for ex in fDct[key]})

移動文件

接下來就是移動文件,這里面有兩個問題,一是目標文件夾不存在,則需要新建;二則是目標文件夾中已經(jīng)有了同名文件,那么則需要報錯

import os
import shutil
pJoin = os.path.join
pExist = os.path.exists

def mvFile(src, dst):
    if not pExist(dst):
        os.makedirs(dst)
    try:
        shutil.move(src, dst)
        return True
    except Exception as e:
        print(e)
        return False

主流程

接下來就是整個文件夾整理的主流程,第一步通過os.listdir得到所有文件名;第二步,遍歷所有文件名,如果這個文件名的后綴剛好就在我們的后綴字典中,那么就將這個文件移動到對應文件類型的文件夾里。

from pathlib import Path

# tar是準備整理的文件夾
def sortFiles(tar):
    files = os.listdir(tar)
    fsErr = []
    for f in files:
        src = pJoin(tar, f)
        ex = Path(src).suffix.lower()
        if ex not in exDct: continue
        dst = pJoin(tar, exDct[ex])
        if not mvFile(src, dst):
            fsErr.append(src)
    if len(fsErr) == 0:
        return "全部文件移動成功"
    else:
        return "以下文件移動失?。篭r\n"  + "\r\n".join(fsErr)

執(zhí)行效果如下,即下載文件夾中的文件都被移動到這幾個文件夾夾中了。

以上就是Python根據(jù)文件后綴實現(xiàn)文件夾整理的詳細內(nèi)容,更多關(guān)于Python文件夾整理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python參數(shù)傳遞中雙星號(**)和單星號(*)是作用

    Python參數(shù)傳遞中雙星號(**)和單星號(*)是作用

    雙星號(**)和單星號(*)在參數(shù)傳遞中扮演著關(guān)鍵角色,本文主要介紹了Python參數(shù)傳遞中雙星號(**)和單星號(*)是作用,具有一定的參考價值,感興趣的可以了解一下
    2024-05-05
  • 詳解python polyscope庫的安裝和例程

    詳解python polyscope庫的安裝和例程

    這篇文章主要介紹了python polyscope庫的安裝和例程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • django 模型字段設(shè)置默認值代碼

    django 模型字段設(shè)置默認值代碼

    這篇文章主要介紹了django 模型字段設(shè)置默認值代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python hexstring-list-str之間的轉(zhuǎn)換方法

    Python hexstring-list-str之間的轉(zhuǎn)換方法

    今天小編就為大家分享一篇Python hexstring-list-str之間的轉(zhuǎn)換方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python3.4 splinter(模擬填寫表單)使用方法

    Python3.4 splinter(模擬填寫表單)使用方法

    今天小編就為大家分享一篇Python3.4 splinter(模擬填寫表單)使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • python 實現(xiàn)turtle畫圖并導出圖片格式的文件

    python 實現(xiàn)turtle畫圖并導出圖片格式的文件

    今天小編就為大家分享一篇python 實現(xiàn)turtle畫圖并導出圖片格式的文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • pandas去除重復值的實戰(zhàn)

    pandas去除重復值的實戰(zhàn)

    本文主要介紹了pandas去除重復值的實戰(zhàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Python自動化實現(xiàn)日報數(shù)據(jù)可視化

    Python自動化實現(xiàn)日報數(shù)據(jù)可視化

    這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)自動化生成日報數(shù)據(jù)可視化,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-02-02
  • 數(shù)據(jù)庫連接池DBUtils的安裝使用方法

    數(shù)據(jù)庫連接池DBUtils的安裝使用方法

    DBUtils是Python的一個用于實現(xiàn)數(shù)據(jù)庫連接池的模塊,這篇文章主要介紹了數(shù)據(jù)庫連接池DBUtils的安裝使用方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • Python圖像處理模塊ndimage用法實例分析

    Python圖像處理模塊ndimage用法實例分析

    這篇文章主要介紹了Python圖像處理模塊ndimage用法,結(jié)合實例形式分析了Python圖像處理模塊ndimage基本功能及常見的圖形運算操作實現(xiàn)技巧,需要的朋友可以參考下
    2019-09-09

最新評論