Python小练习:批量删除多个文件夹内的相同文件
生活随笔
收集整理的這篇文章主要介紹了
Python小练习:批量删除多个文件夹内的相同文件
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
應(yīng)用場景:
下載的多個(gè)文件夾是壓縮包,解壓后每個(gè)文件夾都有某個(gè)網(wǎng)站的推廣鏈接,想要批量的刪除該文件
代碼:
1、直接用for循環(huán)
由于os.walk()方法自帶深度遍歷功能,這里直接使用for循環(huán)即可找到所有文件夾及文件
import osdef deleteFiles():for root, dirs, files in os.walk(wanted_del_file_dir):for file_name in files:file_path = os.path.join(root, file_name)if file_name in del_file_list:print("-" * 20)print('delete:%s' % file_path) # 查看刪除文件具體路徑os.remove(file_path)if __name__ == '__main__':wanted_del_file_dir = u'D:\\test' # 要批量刪除文件的最上級文件夾del_file_list = ['百度云SVIP長期免費(fèi)使用.url','本教程由我愛學(xué)it提供.url','高清電子書籍.url','更多精品教程.url','下載必看.txt',]deleteFiles()print('刪除完成!')2、用遞歸的方式:
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import osdef readFilename(file_dir):for root, dirs, files in os.walk(file_dir):return files, dirs, rootdef deleteFiles(files, dirs, root):for i in files:if i in del_file_list:print("-" * 20)print('delete:%s' % os.path.join(root, i), i) # 查看刪除文件具體路徑os.remove(os.path.join(root, i))for j in dirs:fi, di, ro = readFilename(root + "\\" + j)deleteFiles(fi, di, ro)if __name__ == '__main__':wanted_del_file_dir = u'D:\\00python臨時(shí)\\S15django' # 要批量刪除文件的最上級文件夾files, dirs, root = readFilename(wanted_del_file_dir)del_file_list = ['百度云SVIP長期免費(fèi)使用.url','本教程由我愛學(xué)it提供.url','高清電子書籍.url','更多精品教程.url','下載必看.txt',]#設(shè)置要刪除的文件deleteFiles(files, dirs, root)print('刪除完成!')總結(jié)
以上是生活随笔為你收集整理的Python小练习:批量删除多个文件夹内的相同文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python元类的简单了解
- 下一篇: Python 模块初始化的时候,发生了什