最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

文件類型字典

根據(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)這個目標(biāo),可以先做一個文件類型字典,來綁定文件類型和后綴

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)建圖片、視頻等文件夾,然后通過文件的后綴找到其對應(yīng)的文件類別,然后移動到相應(yīng)的文件夾。為了更加便捷地實現(xiàn)這個功能,做一個反向的字典,用以通過后綴返回文件夾

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

移動文件

接下來就是移動文件,這里面有兩個問題,一是目標(biāo)文件夾不存在,則需要新建;二則是目標(biāo)文件夾中已經(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得到所有文件名;第二步,遍歷所有文件名,如果這個文件名的后綴剛好就在我們的后綴字典中,那么就將這個文件移動到對應(yīng)文件類型的文件夾里。

from pathlib import Path

# tar是準(zhǔn)備整理的文件夾
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)文件夾整理的詳細(xì)內(nèi)容,更多關(guān)于Python文件夾整理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python生成指定數(shù)量的優(yōu)惠碼實操內(nèi)容

    Python生成指定數(shù)量的優(yōu)惠碼實操內(nèi)容

    在本篇文章里小編給大家整理了關(guān)于Python生成指定數(shù)量的優(yōu)惠碼的實例內(nèi)容以及相關(guān)代碼,有需要的朋友們學(xué)習(xí)下。
    2019-06-06
  • 淺談django三種緩存模式的使用及注意點

    淺談django三種緩存模式的使用及注意點

    這篇文章主要介紹了淺談django 三種緩存模式的使用及注意點,詳細(xì)的介紹了三種緩存模式,非常具有實用價值,需要的朋友可以參考下
    2018-09-09
  • django創(chuàng)建超級用戶過程解析

    django創(chuàng)建超級用戶過程解析

    這篇文章主要介紹了django創(chuàng)建超級用戶過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python queue模塊攻略全解

    Python queue模塊攻略全解

    這篇文章主要為大家介紹了Python queue模塊攻略全解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Python+Turtle繪制可愛的可達(dá)鴨

    Python+Turtle繪制可愛的可達(dá)鴨

    一年一度的六一兒童節(jié)又來了,祝大朋友小朋友節(jié)日快樂!本文主要介紹如何運用Python中的turtle庫控制函數(shù)繪制可達(dá)鴨,希望你會喜歡
    2022-05-05
  • pymysql的簡單封裝代碼實例

    pymysql的簡單封裝代碼實例

    這篇文章主要介紹了pymysql的簡單封裝代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • python 輸出列表元素實例(以空格/逗號為分隔符)

    python 輸出列表元素實例(以空格/逗號為分隔符)

    今天小編就為大家分享一篇python 輸出列表元素實例(以空格/逗號為分隔符),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Conda國內(nèi)鏡像源及配置過程

    Conda國內(nèi)鏡像源及配置過程

    文章介紹Conda鏡像源使用方法,涵蓋臨時指定單個/多個源、永久配置及恢復(fù)默認(rèn)設(shè)置,同時說明main(官方穩(wěn)定)、free(逐漸棄用)、conda-forge(社區(qū)更新快)等倉庫的區(qū)別與適用場景
    2025-08-08
  • 用tensorflow搭建CNN的方法

    用tensorflow搭建CNN的方法

    本篇文章主要介紹了用tensorflow搭建CNN的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Using Django with GAE Python 后臺抓取多個網(wǎng)站的頁面全文

    Using Django with GAE Python 后臺抓取多個網(wǎng)站的頁面全文

    這篇文章主要介紹了Using Django with GAE Python 后臺抓取多個網(wǎng)站的頁面全文,需要的朋友可以參考下
    2016-02-02

最新評論

黄浦区| 瑞丽市| 江油市| 湘西| 耒阳市| 新竹县| 黔西| 永靖县| 凤阳县| 石狮市| 扬州市| 蒲江县| 恩施市| 建德市| 门头沟区| 喀喇沁旗| 徐水县| 自贡市| 岱山县| 时尚| 沁源县| 临沧市| 萨迦县| 惠州市| 云浮市| 长宁县| 南充市| 乌海市| 武穴市| 东莞市| 桓台县| 中阳县| 曲阜市| 大安市| 望城县| 洱源县| 敖汉旗| 开化县| 济宁市| 南部县| 蓬溪县|