Python實(shí)現(xiàn)刪除重復(fù)視頻文件的方法詳解
Python自動(dòng)化辦公之刪除重復(fù)的視頻文件
獲取所有文件路徑
import os import filecmp file_list=[] new_list=[] path=r"F:\FileRecv\刪除文件測(cè)試" for a,b,c in os.walk(path): # print(a) for j in c: file=a+'\\'+j # print(file) file_list.append(file)
效果圖:
代碼說(shuō)明:使用os.walk(path)方法來(lái)獲取所有文件名,循環(huán)添加進(jìn)一個(gè)列表。
獲取所有重復(fù)文件,添加到一個(gè)列表
# 同時(shí)遍歷file_list列表的下標(biāo)和元素 for index,file_name1 in enumerate(file_list): # 每循環(huán)一次就切片生成file_name1之后的列表file_list2 file_list2 = file_list[index +1:] # 如果生成的file_list2列表里只有一個(gè)文件,兩兩對(duì)比不成立時(shí) 就停止循環(huán) if len(file_list2) == 1: break # 遍歷每一個(gè)file_list2 下的文件與file_name1文件做比對(duì) for file_name2 in file_list2: res1 = filecmp.cmp(file_name1,file_name2, shallow=True) # print(f'{file_name1}和{file_name1}對(duì)比') ??????? #如果對(duì)比相同 if res1: #添加進(jìn)準(zhǔn)備刪除的集合 new_set.add(file_name1) print(new_set)
效果圖:
代碼說(shuō)明:這里主要是循環(huán)取值的應(yīng)用,以及用到了filecmp這個(gè)文件對(duì)比庫(kù)。
刪除重復(fù)文件
#刪除集合里的文件 for i in new_set: os.remove(i)
效果圖:
刪除前
刪除后
filecmp庫(kù)知識(shí)拓展:
filecmp是python內(nèi)置的一個(gè)模塊,用于比較文件及文件夾的內(nèi)容。
filecmp由兩個(gè)主要的方法,filecmp.cmp(f1, f2, [shallow])和filecmp.cmpfiles(a, b, common, [shallow])。
1、如果單純比較兩個(gè)文件是否相同,可以通過(guò)filecmp.cmp(f1, f2, shallow=True)實(shí)現(xiàn)。其中f1、f2是文件名,shallow=True,則通過(guò)文件的元信息比較是否一致,如果是False,則比較兩個(gè)文件內(nèi)容。
2、如果非遞歸比較兩個(gè)目錄中的一組文件,可以選擇通過(guò)filecmp.cmpfiles(dir1, dir2, common, shallow=True)實(shí)現(xiàn)。其中dir1、dir2是兩個(gè)文件夾,common是list,里面是需要比較的共同文件名稱。
到此這篇關(guān)于Python實(shí)現(xiàn)刪除重復(fù)視頻文件的方法詳解的文章就介紹到這了,更多相關(guān)Python刪除重復(fù)視頻文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實(shí)現(xiàn)目錄復(fù)制的三種小結(jié)
今天小編就為大家分享一篇python 實(shí)現(xiàn)目錄復(fù)制的三種小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12RuntimeError:CUDA?out?of?memory多種場(chǎng)景下的解決方案
若遇到RuntimeError:?CUDA?out?of?memory錯(cuò)誤,通常意味著GPU內(nèi)存不足以處理當(dāng)前的計(jì)算需求,本文就來(lái)介紹一下多種場(chǎng)景下的解決方案,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02python?tornado協(xié)程調(diào)度原理示例解析
這篇文章主要為大家介紹了python?tornado協(xié)程調(diào)度原理示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09python報(bào)錯(cuò)unexpected?indent的解決辦法
這篇文章主要給大家介紹了關(guān)于python報(bào)錯(cuò)unexpected?indent的解決辦法,在python中出現(xiàn)"Unexpected indent"可能是代碼的縮進(jìn)出現(xiàn)問(wèn)題,需要的朋友可以參考下2023-06-06簡(jiǎn)單的編程0基礎(chǔ)下Python入門指引
這篇文章主要介紹了簡(jiǎn)單的編程0基礎(chǔ)下Python入門指引,包括從各個(gè)系統(tǒng)的Python安裝和簡(jiǎn)單的語(yǔ)句知識(shí),需要的朋友可以參考下2015-04-04python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼
大家好,本篇文章主要講的是python實(shí)現(xiàn)新年倒計(jì)時(shí)實(shí)例代碼,昂星期的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12PyQt5每天必學(xué)之QSplitter實(shí)現(xiàn)窗口分隔
這篇文章主要介紹了PyQt5每天必學(xué)之窗口分隔,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04