呜呜呜,最近在看yolo算法,在数据标签转换的时候遇到FileNotFoundError: [Errno 2] No such file or directory: './VOCdevkit/VOC2007\\Annotations\\.xml' 这个问题
做梦都在找原因:主要原因是xml最后生成文件有空行,导致识别不了,批量删除最后空行就可
下面是俺的解决代码
# 代码应用:删除xml最后一行的空格
import os
import pandas as pd
path = "data\\"
files = os.listdir(path)
xml=[]
for file in files:
position = path+'\\'+file
# print(position)
# print(file)
file_old = open(position, 'rb+')
m = 1
N = 1
# 删除最后一行的字符数m
file_old.seek(-m, os.SEEK_END)
# 2.从步骤1定位的位置开始读取接下来的每一行数据,若步骤1的代码删除,则会从文件头部开始读取所有行
lines = file_old.readlines()
# 3.定位到最后一行的行首,若要删除后N行,将lines[-1]改为lines[-N:]即可
file_old.seek(-len(lines[-N]), os.SEEK_END)
file_old.truncate() # 截断之后的数据
file_old.close()