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

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

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

文件類型字典

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

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

文件夾文件類別
圖片“.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”

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

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

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

移動(dòng)文件

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

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

主流程

接下來就是整個(gè)文件夾整理的主流程,第一步通過os.listdir得到所有文件名;第二步,遍歷所有文件名,如果這個(gè)文件名的后綴剛好就在我們的后綴字典中,那么就將這個(gè)文件移動(dòng)到對(duì)應(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 "全部文件移動(dòng)成功"
    else:
        return "以下文件移動(dòng)失敗:\r\n"  + "\r\n".join(fsErr)

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

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

相關(guān)文章

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

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

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

    淺談django三種緩存模式的使用及注意點(diǎn)

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

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

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

    Python queue模塊攻略全解

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

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

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

    pymysql的簡(jiǎn)單封裝代碼實(shí)例

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

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

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

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

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

    用tensorflow搭建CNN的方法

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

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

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

最新評(píng)論

忻城县| 江阴市| 靖宇县| 东明县| 陆川县| 额尔古纳市| 鄂温| 清远市| 大兴区| 蓬溪县| 绥德县| 无极县| 康保县| 岑溪市| 济阳县| 长治县| 哈密市| 清镇市| 阿拉善盟| 讷河市| 郑州市| 衡南县| 景泰县| 宁陵县| 广西| 莒南县| 依兰县| 和龙市| 焉耆| 平湖市| 花垣县| 小金县| 邵东县| 化德县| 景泰县| 莒南县| 庆阳市| 油尖旺区| 汕头市| 铁岭市| 肇庆市|