#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""qhy。
"""import os
import xml.etree.elementtree as et
origin_ann_dir = 'annos/'# 設定原始標籤路徑為 annos
new_ann_dir = 'annotations/'# 設定新標籤路徑 annotations
for dirpaths, dirnames, filenames in os.walk(origin_ann_dir):# os.walk遊走遍歷目錄名
for filename in filenames:
print(filename)
if os.path.isfile(r'%s%s' %(origin_ann_dir, filename)):#獲取原始xml檔案絕對路徑,isfile()檢測是否為檔案 isdir檢測是否為目錄
origin_ann_path = os.path.join(r'%s%s' %(origin_ann_dir, filename))#如果是,獲取絕對路徑(重複**)
new_ann_path = os.path.join(r'%s%s' %(new_ann_dir, filename))#
tree = et.parse(origin_ann_path)#et是乙個xml檔案解析庫,et.parse()開啟xml檔案。parse--"解析"
root = tree.getroot()#獲取根節點
for object in root.findall('object'):#找到根節點下所有「object」節點
name = str(object.find('name').text)#找到object節點下name子節點的值(字串),判斷:如果不是列出的,(這裡可以用in對保留列表成員進行審查),則移除該object節點及其所有子節點。
if not (name in ["shim losing","invisible pin losing"]):
root.remove(object)
flag = 0#清楚非保留完成-標誌位0
tree.write(new_ann_path)#tree為檔案,write寫入新的檔案中。
for object in root.findall('object'):#找到根節點下所有子節點
name = str(object.find('name').text)#找到子節點中name變數,判斷:如果每乙個都是要保留的,則標誌位變1,這是乙個審查。
if (name in ["shim losing","invisible pin losing"]):
flag = 1
if (flag == 0):
os.remove(new_ann_path)#所有不滿足審查:有多餘object,則用os.remove(filepath)刪除指定檔案。
#注意:改兩個地方,分別兩個有注釋的地方,乙個if,乙個if not
刪除不需要的檔案
一些不需要的 巨大的檔案或資料夾佔據了硬碟的空間,這並不少見。如果你試圖釋放計算機上的空間,那麼刪除不想要的巨大檔案效果最好。但首先你必須找到它們。編寫乙個程式,遍歷乙個目錄樹,查詢特別大的檔案或資料夾,比方說,超過100mb的檔案 回憶一下,要獲得檔案的大小,可以使用 os 模組的 os.path...
移植刪除不需要份檔案
1 進入arch這個資料夾,把出arm外的前部資料夾刪掉 2 進入board這個資料夾,把除samsung外前部資料夾刪掉 3 進入include configs,把除smdk2416.h外的所有檔案刪除。4 把頂層目錄下有乙個叫onenand ipl的資料夾刪除掉,因為沒有用到。5 進入nand ...
9 8 2 刪除那些不需要的檔案
編寫乙個程式,遍歷乙個目錄樹,查詢特別大的檔案或資料夾,比方說,超過 100mb 的檔案 回憶一下,要獲得檔案的大小,可以使用 os 模組的 os.path.getsize 將這些檔案的絕對路徑列印到螢幕上。for folder,subfolder,filenames in os.walk for ...