上個(gè)月學(xué)了python感覺(jué)挺多地方能用到它的导坟。打包 測(cè)試 上傳 爬電影....而且代碼量是真少骂束。人生苦短,我用python囱挑。而今天寫的這個(gè)是因?yàn)橄螺d電影時(shí)總會(huì)發(fā)現(xiàn)除了視頻還會(huì)有這兩個(gè)文件,甚至更多亂七八糟的文件
image.png
看著這些文件很不舒服根悼。一個(gè)個(gè)文件夾的刪太費(fèi)勁了凶异。還要注意不能誤刪。于是這個(gè)腳本就出來(lái)了“根據(jù)擴(kuò)展名過(guò)濾刪除文件”
Step1
首先需要一個(gè)參數(shù)配置文件FilterParameter.py
-
formatFiles
需要過(guò)濾的擴(kuò)展名
-
dir
需要進(jìn)行刪除的目錄路徑
formatFiles = [
'.mp4',
'.mkv',
'.avi',
'.rmvb'
]
dir = "/Users/cuiyang/Movies/Fmovie/"
Step2
首先創(chuàng)建一個(gè)方法將目錄下所有文件取出
def currentDirFile(dir):
fileNames = os.listdir(dir)
for fn in fileNames:
fullFileName = os.path.join(dir, fn)
if not os.path.isdir(fullFileName):
delFile(fullFileName)
else:
currentDirFile(fullFileName)
再將需要?jiǎng)h除的文件進(jìn)行過(guò)濾挤巡,這里是將文件移動(dòng)到廢紙簍(mac)剩彬,萬(wàn)一目錄寫錯(cuò)了或者什么原因誤刪那不GG。
def delFile(filePath):
# 分隔后綴名
formatName = os.path.splitext(filePath)[1]
if not FilterParameter.formatFiles.__contains__(formatName) and \
filePath.split('/')[-1] != '.DS_Store': # mac下每個(gè)文件夾都有個(gè).DS_Store隱藏文件這個(gè)不需要?jiǎng)? # print(filePath)
shutil.move(filePath, '/Users/cuiyang/.Trash')# 移動(dòng)到廢紙簍
對(duì) 就是這么簡(jiǎn)單 相信會(huì)python的同學(xué)一下就看懂了矿卑。源碼地址