Python實(shí)現(xiàn)文件夾整理下載
文件類型字典
根據(jù)熵增原理,我們的文件夾在經(jīng)過一段時間之后會變得混亂不堪,尤其是桌面和下載文件夾,找個東西會十分費(fèi)勁,特別影響效率,所以用Python做一個文件夾整理小工具還是很有必要的。
而最常見的整理方法,就是按照文件類型,為了實(shí)現(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)的文件夾。為了更加便捷地實(shí)現(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í)行效果如下,即下載文件夾中的文件都被移動到這幾個文件夾夾中了。

到此這篇關(guān)于Python實(shí)現(xiàn)文件夾整理下載的文章就介紹到這了,更多相關(guān)Python文件夾整理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python之從文件讀取數(shù)據(jù)到list的實(shí)例講解
下面小編就為大家分享一篇python之從文件讀取數(shù)據(jù)到list的實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python小白練習(xí)題之條件控制與循環(huán)控制
Python 中的條件控制和循環(huán)語句都非常簡單,也非常容易理解,與其他編程語言類似,下面這篇文章主要給大家介紹了關(guān)于python小白練習(xí)題之條件控制與循環(huán)控制的相關(guān)資料,需要的朋友可以參考下2021-10-10
python內(nèi)置函數(shù)之slice案例詳解
這篇文章主要介紹了python內(nèi)置函數(shù)之slice案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09
簡單了解Django ContentType內(nèi)置組件
這篇文章主要介紹了簡單了解Django ContentType內(nèi)置組件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
Python安裝使用命令行交互模塊pexpect的基礎(chǔ)教程
Pexpect是一個純Python模塊,可以用來和ssh、ftp、passwd、telnet等命令行命令進(jìn)行交互使用,在Linux系統(tǒng)下尤其好用,下面我們就來具體來看一下Python安裝使用命令行交互模塊pexpect的基礎(chǔ)教程:2016-05-05
利用Python實(shí)現(xiàn)批量轉(zhuǎn)換圖片格式
本文重點(diǎn)介紹普通圖片格式怎么相互轉(zhuǎn)換,如jpg格式圖片怎么批量轉(zhuǎn)化為png格式,在深度學(xué)習(xí)項(xiàng)目中,有時我們收集到的數(shù)據(jù)集圖片格式不統(tǒng)一,有的代碼支持多種格式圖片輸入,有的則只支持個別格式,所以這時,我們需要通過腳本來轉(zhuǎn)換圖片格式,不說廢話,直接上代碼2025-08-08
用Python實(shí)現(xiàn)童年貪吃蛇小游戲功能的實(shí)例代碼
這篇文章主要介紹了用Python實(shí)現(xiàn)童年貪吃蛇小游戲功能的實(shí)例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
使用python Fabric動態(tài)修改遠(yuǎn)程機(jī)器hosts的方法
今天小編就為大家分享一篇使用python Fabric動態(tài)修改遠(yuǎn)程機(jī)器hosts的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10

