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