import os
import shutil
def split(src,img,annota):
imges=[] #存储所有图片的路径
annotation=[] #存储所有xml的路径
#第一步:遍历需要分离的文件夹
for f in os.listdir(src):
if f.endswith(".jpg"):
imges.append(f)
if f.endswith(".jpeg"):
imges.append(f)
if f.endswith(".png"):
imges.append(f)
if f.endswith(".xml"):
annotation.append(f)
#第二步:创建目标图片文件夹和xml文件夹
if not os.path.isdir(img): #如果目标图片文件夹不存在
os.mkdir(img)
if not os.path.isdir(annota): #如果目标xml文件夹不存在
os.mkdir(annota)
#第三步:转移到目标文件夹中
for im in imges: #遍历所有的图片,将图片文件转移到目标文件夹中
new_path=os.path.join(src,im)
print(new_path)
shutil.copy(new_path,img)
for ann in annotation: #遍历所有的xml,将xml文件转移到目标文件夹中
new_path=os.path.join(src,ann)
print(new_path)
shutil.copy(new_path,annota)
if __name__=="__main__":
point="./" #相对路径
SrcDir="train" #需要分离的文件
dicimg="images" #目标图片文件
dicann="annotations" #目标的xml文件
src=os.path.join(point,SrcDir);
imges=os.path.join(point,dicimg)
annoations=os.path.join(point,dicann)
split(src,imges,annoations)
混合文件下分离xml文件和jpg文件
最新推荐文章于 2022-09-17 17:23:06 发布