'''XML文件转txt'''
import os
import sys
def xml2txt():
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
dir = r"C:\Users\Ross\Desktop\2xml/" # 读取路径尾端必须加反斜杠,否则报错
f = open(r"C:\Users\Ross\Desktop\2xml.txt", 'w')
for ii in os.listdir(dir):
print(dir + ii)
try:
tree = ET.parse(dir + ii) # 打开xml文档
root = tree.getroot() # 获得root节点
except Exception:
print("Error:cannot parse file:" + ii)
sys.exit(1) # 主线程退出(0正常,1非正常)
name = root.find('filename').text
for object in root.findall('object'):
bndbox = []
for i in range(4):
bndbox.append(int(object.find('bndbox').getchildren()[i].text))
w = float(bndbox[2]) - float(bndbox[0])
h = float(bndbox[3]) - float(bndbox[1])
print(w, h)
strss = "{0},{1},{2},{3},{4}".format(name, bndbox[0], bndbox[1], bndbox[2], bndbox[3], )
f.write(strss + '\n')
xml2txt()
print("ok")
注:如果遇到报错 ModuleNotFoundError: No module named 'xml.etree'; 'xml' is not a package
是因为下载的python当中,已经包含了xml.py文件,或者名为xml的文件夹。 https://blog.csdn.net/qq280929090/article/details/78859858
如,改成如下就好了: