-
Notifications
You must be signed in to change notification settings - Fork 0
/
write_xml_in_folder_y.py
47 lines (45 loc) · 1.69 KB
/
write_xml_in_folder_y.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import xml.etree.ElementTree as ET
import os
import shutil
import json
import fnmatch
import cv2
path =r'data_top/'
li=[]
for subdir,dirs,files in os.walk(path):
test=subdir.replace('data_top/data_','')
# test=test.replace('data/data','')
# test=subdir.replace('data/','')
print(test)
li.append(test)
del li[0]
for name in li :
name_product=name
rootdir=r'data_top/data_'+name_product+'/'
for subdir,dirs,files in os.walk(rootdir):
for file in files:
if fnmatch.fnmatch(file, '*.xml'):
file_path=os.path.join(subdir,file)
tree = ET.parse(file_path)
root = tree.getroot()
for elem in root:
if elem.tag == 'filename':
elem.text = file.replace('.xml','')+'.jpg'
tree.write(file_path, xml_declaration=True)
for subdir,dirs,files in os.walk(rootdir):
for file in files:
if fnmatch.fnmatch(file, '*.jpg'):
file_path_jpg=os.path.join(subdir,file)
path_write=file_path_jpg.replace('.jpg','')+'.xml'
print(path_write)
tree.write(path_write, xml_declaration=True)
for subdir,dirs,files in os.walk(rootdir):
for file in files:
if fnmatch.fnmatch(file, '*.xml'):
file_path_xml=os.path.join(subdir,file)
tree2 = ET.parse(file_path_xml)
root2 = tree2.getroot()
for elem2 in root2:
if elem2.tag == 'filename':
elem2.text = file.replace('.xml','')+'.jpg'
tree2.write(file_path_xml, xml_declaration=True)