需求:
读出所有内容,删除掉其中某些内容,然后将剩余的内容写回。
问题:
现有的r+,a+,w+等都不是正好满足上述需求的;要么是替换,要么是append
解决:
读完后将筛选后的内容放在内存里,指针指向0处,然后清空文本,然后写入。
代码:
missed = 'D:/Final_data/missed/txt_rgb/'
files = os.listdir(missed)
for file in files:
print(file)
with open(missed+file, 'r+') as f1:
boxes = f1.readlines()
print(len(boxes))
for box in boxes[:]: # 注意这个地方
# box = boxes[i]
if len(box) > 2:
if float(box.split()[-1]) < 0.25:
boxes.remove(box)
print(len(boxes))
f1.seek(0)
f1.truncate()
f1.writelines(boxes)
更多推荐
python读写文件(先读再清空写)
发布评论