1 对JPEGImages文件内所有图片重命名:
#ChangeJpgName.py
import re
import os
import time
#str.split(string)分割字符串
#'连接符'.join(list) 将列表组成字符串
def change_name(path):
global i
if not os.path.isdir(path) and not os.path.isfile(path):
return False
if os.path.isfile(path):
file_path = os.path.split(path) #分割出目录与文件
lists = file_path[1].split('.') #分割出文件与文件扩展名
file_ext = lists[-1] #取出后缀名(列表切片操作)
img_ext = ['bmp','jpeg','gif','psd','png','jpg']
if file_ext in img_ext:
os.rename(path,file_path[0]+'/'+lists[0]+'_Enh.'+file_ext)
i+=1 #注意这里的i是一个陷阱
#或者
#img_ext = 'bmp|jpeg|gif|psd|png|jpg'
#if file_ext in img_ext:
# print('ok---'+file_ext)
elif os.path.isdir(path):
for x in os.listdir(path):
print(x)
print(os.path.join(path,x))
change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用
#img_dir = "/Users/sisyphus/darkflow/VOCtest2018/JPEGImagesTrainAugEnh"
img_dir = '/Users/sisyphus/darkflow/VOCtest2018/testJPEG/'
#img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - start
print('程序运行耗时:%0.2f'%(c))
print('总共处理了 %s 张图片'%(i))
2 删除文件夹里DS_store隐藏文件
#DelDS_store.py
import os, sys;
def walk(path):
print("cd directory:"+path)
for item in os.listdir(path):
if(item == '.DS_Store'):
global count
count = count+1
print("find file .Ds_Store")
os.remove(path + '/' +item)
else:
if(os.path.isdir(path + '/' + item)):
print(" " + path + item + " "+"is directory")
walk(path + '/' + item)
else:
print(" " + path + item + "is file")
if __name__=='__main__':
count = 0
dir = '/Users/sisyphus/darkflow/VOCtest2018/testJPEG/'
walk(dir)
print("\ntotal number:" + str(count))
3 修改xml文件中对应的jpg文件名
#xmlEdit2.py
from xml.etree import ElementTree
import os
#jpgpath='/Users/sisyphus/darkflow/VOCtest2018/JPEGImages/'
jpgpath='/Users/sisyphus/darkflow/VOCtest2018/testJPEG/'
jpglist = os.listdir(jpgpath)
jpglist.sort()
#xmlpath='/Users/sisyphus/darkflow/VOCtest2018/Annotation/'
xmlpath='/Users/sisyphus/darkflow/VOCtest2018/testAnn/'
xmllist = os.listdir(xmlpath)
xmllist.sort()
i=0
for item in xmllist:
#print(item)
xmldoc = ElementTree.parse(xmlpath+xmllist[i])
node = xmldoc.find('./filename')
node.text = jpglist[i]
xmldoc.write(xmlpath+xmllist[i])
i=i+1
4 对Annotation文件中所有xml重命名(与JPEGImage各图片名字对应)
#ChangeXmlName.py
import re
import os
import time
#str.split(string)分割字符串
#'连接符'.join(list) 将列表组成字符串
def change_name(path):
global i
if not os.path.isdir(path) and not os.path.isfile(path):
return False
if os.path.isfile(path):
file_path = os.path.split(path) #分割出目录与文件
lists = file_path[1].split('.') #分割出文件与文件扩展名
file_ext = lists[-1] #取出后缀名(列表切片操作)
img_ext = ['xml']
if file_ext in img_ext:
os.rename(path,file_path[0]+'/'+lists[0]+'_Enh.'+file_ext)
i+=1 #注意这里的i是一个陷阱
#或者
#img_ext = 'bmp|jpeg|gif|psd|png|jpg'
#if file_ext in img_ext:
# print('ok---'+file_ext)
elif os.path.isdir(path):
for x in os.listdir(path):
print(x)
print(os.path.join(path,x))
change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用
img_dir = "/Users/sisyphus/darkflow/VOCtest2018/AnnotationTrainAugEnh"
#img_dir = '/Users/sisyphus/darkflow/VOCtest2018/testAnn/'
#img_dir = img_dir.replace('\\','/')
start = time.time()
i = 0
change_name(img_dir)
c = time.time() - start
print('程序运行耗时:%0.2f'%(c))
print('总共处理了 %s 份xml'%(i))
没有评论:
发表评论