用Python在Windows或Linux下批量删除文件夹中指定的文件
生活随笔
收集整理的這篇文章主要介紹了
用Python在Windows或Linux下批量删除文件夹中指定的文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-
情況說明:當在一個文件夾下面有好幾十個或幾百個文件需要刪除,此時一一去挑選費時費力,特別是在Linux下面。因此,需要批量刪除文件。
? ? 對訓練樣本(圖像)和測試樣本(圖像)進行評估時候,需要查看是數據本身問題還是自己模型的問題,因此需要將錯誤分類的樣本(圖像)挑選出來,看到底是標注本身問題,還是說模型沒有訓練好。當是樣本本身問題,需要將錯誤樣本刪除。
? ? 在3W多個訓練樣本中,查詢到400多個是錯誤標注的數據,需要在數據集中刪除。
? ?
? ? 將要刪除的文件路徑放入txt,用Python的os讀取文件,存入txt。然后在用os.remove()刪除讀出來的路徑所指文件。
? ? 由于我在Windows下面查看樣本方便點,所以在Windows下面把文件相對路徑寫入txt,這里是第1段代碼。
? ? 然后在Linux服務器上,去執行批量刪除文件的代碼,這是第2段代碼。(因此,復制本段代碼需要注意路徑問題!!!)
? ??
?
- 先將錯誤文件挑選出來,放在一個文件夾下的data_reduce.txt下面。
import os from os import listdir # 錯誤文件放在reduce下面。 anchor_dir='E:/WrongData/reduce/' anchor_files = [t for t in listdir(anchor_dir)] i=0 #在wrongdata文件夾下面創建一個txt,保存錯誤文件的名字。 with open('E:/WrongData/data_reduce.txt','w') as f:for f1 in anchor_files:path1 = anchor_dir+f1+'\n'print(path1)#設置文件對象f.write(path1)i +=1print(i) - 讀取data_reduce.txt中的文件路徑,然后利用os.remove()刪除這些文件。
import os data_dir = "E:/train/4_classes/" file_handle=open('E:/WrongData/data_reduce_4.txt',mode='r') all_line = file_handle.readlines() for line in all_line:image_path=lineprint(image_path)# 需要去掉路徑最后的換行符號。'\n'os.remove(image_path.strip('\n')) print("remove ok!")
?
總結
以上是生活随笔為你收集整理的用Python在Windows或Linux下批量删除文件夹中指定的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单唾液酸四己糖神经节苷脂钠注射液多少钱一
- 下一篇: YOLOv3 训练的各种config文件