#更改xml内容
import os
LINES = []
class ChangeSomething():
def __init__(self):
self.path = 'C:\\Desktop\\Annotations\\' # 原路径
def chname(self,file_path):
names=os.listdir(file_path)
for filename in names:
new_name=filename[:-4].zfill(6)+'.xml'
# print(new_name)
if len(filename)!=len(new_name):
os.rename(filename,new_name)
print('change_done :%s'%filename)
def chname_inside(self,file_path):
filenames = os.listdir(file_path)
total_num = len(filenames)
for i,item in enumerate(filenames):
if i <46:#这里由于我有部分数据是不需要改的,只需要改前46个,所以增加了条件
print(file_path+item)
with open((file_path + item), 'r') as fp:
for line in fp:
if line.startswith(' <filename>'): # 更改行的开头
LINES.append((' <filename>'+item[:-4]+'.jpg'+ '</filename>\n')) # 更改后
else:
LINES.append(line)
with open((file_path + item), 'w') as fp:
fp.writelines(LINES)
LINES.clear()
print('%s文件已更改完成!' % item)
print('共计%d个文件' % total_num)
if __name__ == '__main__':
change = ChangeSomething()
# change.chpath()
#更改xml里的 名字
# os.chdir('xml路径')#注意:在更改名字的时候别忘记指定更改后的目录
# change.chname('xml路径')
#
# change.chname_inside('xml路径')
#更改jpg的名字
# os.chdir('自己的jpg路径') # 注意:在更改名字的时候别忘记指定更改后的目录
# change.chname('自己的jpg路径')