Python练习题:批量删除多个文件夹内的相同文件
生活随笔
收集整理的這篇文章主要介紹了
Python练习题:批量删除多个文件夹内的相同文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
應用場景:
下載的多個文件夾是壓縮包,解壓后每個文件夾都有某個網站的推廣鏈接,想要批量的刪除該文件
使用環境:win7,python3.6
代碼:
1、直接用for循環
由于os.walk()方法自帶深度遍歷功能,這里直接使用for循環即可找到所有文件夾及文件
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長期免費使用.url','本教程由我愛學it提供.url','高清電子書籍.url','更多精品教程.url','下載必看.txt',]deleteFiles()print('刪除完成!')2、用遞歸的方式:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和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臨時\\S15django' # 要批量刪除文件的最上級文件夾files, dirs, root = readFilename(wanted_del_file_dir)del_file_list = ['百度云SVIP長期免費使用.url','本教程由我愛學it提供.url','高清電子書籍.url','更多精品教程.url','下載必看.txt',]#設置要刪除的文件deleteFiles(files, dirs, root)print('刪除完成!')總結
以上是生活随笔為你收集整理的Python练习题:批量删除多个文件夹内的相同文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python:赋值语句和布尔值
- 下一篇: python调用Linux下so文件