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

Python實現文件夾整理下載

 更新時間:2023年09月19日 15:43:23   作者:微小冷  
這篇文章主要為大家詳細介紹了如何利用Python實現文件夾整理下載,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下

文件類型字典

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

而最常見的整理方法,就是按照文件類型,為了實現這個目標,可以先做一個文件類型字典,來綁定文件類型和后綴

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

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

移動文件

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

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實現文件夾整理下載的文章就介紹到這了,更多相關Python文件夾整理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法

    使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法

    今天小編就為大家分享一篇使用Python3+PyQT5+Pyserial 實現簡單的串口工具方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python實現視頻中添加音頻工具詳解

    Python實現視頻中添加音頻工具詳解

    本文主要為大家介紹了Python中提供在無音頻的視頻中添加音頻的工具詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考一下
    2021-12-12
  • 調用其他python腳本文件里面的類和方法過程解析

    調用其他python腳本文件里面的類和方法過程解析

    這篇文章主要介紹了調用其他python腳本文件里面的類和方法過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Python遍歷字典方式就實例詳解

    Python遍歷字典方式就實例詳解

    這篇文章主要介紹了Python遍歷字典方式就實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • PyTorch常用函數torch.cat()中dim參數使用說明

    PyTorch常用函數torch.cat()中dim參數使用說明

    這篇文章主要為大家介紹了PyTorch常用函數torch.cat()中dim參數使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • python先序遍歷二叉樹問題

    python先序遍歷二叉樹問題

    這篇文章主要介紹了python先序遍歷二叉樹問題,簡單分析了問題,然后向大家分享了代碼示例,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • python打包成 .so的實現步驟

    python打包成 .so的實現步驟

    當需要將產品發(fā)布到外部環(huán)境的時候,源碼的保護尤為重要,因此需要將python文件打成so文件的目的就是為了保護源碼,本文主要介紹了python打包成.so的實現步驟,感興趣的可以了解一下
    2023-12-12
  • pytorch實現線性回歸

    pytorch實現線性回歸

    這篇文章主要為大家詳細介紹了pytorch實現線性回歸,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python的“二維”字典 (two-dimension dictionary)定義與實現方法

    Python的“二維”字典 (two-dimension dictionary)定義與實現方法

    這篇文章主要介紹了Python的“二維”字典 (two-dimension dictionary)定義與實現方法,結合實例形式分析了Python模擬實現類似二維數組形式的二維字典功能,需要的朋友可以參考下
    2016-04-04
  • 關于你不想知道的所有Python3 unicode特性

    關于你不想知道的所有Python3 unicode特性

    我的讀者知道我是一個喜歡痛罵Python3 unicode的人。這次也不例外。我將會告訴你用unicode有多痛苦和為什么我不能閉嘴。我花了兩周時間研究Python3,我需要發(fā)泄我的失望。在這些責罵中,仍然有有用的信息,因為它教我們如何來處理Python3。如果沒有被我煩到,就讀一讀吧
    2014-11-11

最新評論