# coding=utf-8
import os
import os.path
import xml.dom.minidom
#獲得資料夾中所有檔案
findpath = '/home/ssd_object-1/voc2019/annotations/'
#獲取資料夾下全部檔案
filenames = os.listdir(findpath)
s =
#儲存路徑
xml_path = '/home//ssd_object-1/voc2019/annotations/'
for file_name in filenames:
if not os.path.isdir(file_name): # 判斷是否是資料夾,不是資料夾才開啟
print(file_name)
#讀取xml檔案
dom = xml.dom.minidom.parse(os.path.join(findpath,file_name))
root = dom.documentelement
# 獲取標籤對path之間的值,可以修改其他標籤名如name
name = root.getelementsbytagname('path')
# print(len(name))
for i in range(len(name)):
#if name[i] .firstchild.data== 'screw cap':
#切片拼接新名字位址
name[i].firstchild.data = "\home\ssd_object-1\\"+name[i].firstchild.data[3:]
print ('修改後的 path')
print (name[i].firstchild.data)
#將修改後的xml檔案儲存
print(xml_path, file_name)
with open(os.path.join(xml_path, file_name), 'w') as fh:
dom.writexml(fh)
print('寫入name/pose ok!')
CH22 P439 修改xml資料
header content type text html charset utf 8 第二種方法 注意encoding的編碼和檔案儲存的格式相關 str xml xml load string str echo xml name 沒單引號notice錯誤 xml book computerbook...
python解析並修改xml檔案
使用labelimg標註後需要統一修改label的名稱和名,所以用python批量修改名和xml檔案。首先批量複製並修改名稱 coding utf 8 將二級目錄下的 標籤檔案重新命名到同乙個新資料夾下 import os,shutil defbatchrenamefile srcdirname,d...
利用python批量修改xml檔案
問題描述 對大量xml標籤進行修改floder的名字,以及path路徑。例如把1修改為train,把路徑修改為當前xml所在位置。xml格式如下 如下 usr bin python coding utf 8 import os import os.path from xml.etree.elemen...