在人脸对齐实验中,公共数据集一般提供.pts文件用来描述特征点位置,下列代码可以对该文件进行处理,使处理完的文件仅保留68*2个数值。

import os

NumofLines=[1,2,3,72]                #是指要删除的行,即:第1,2,3,72行。
i=1          
openFileHandle=open('test.pts','r')     #读取待修改的文件
writeFileHandle=open('Temp','w')     #临时文件
while 1:
    line=openFileHandle.readline()   #读取待修改文件的行
    if line:
        if i in NumofLines:          #判断当前行数是否为要删除的行数,如果是,则不复制
            i=i+1
            continue
        else:
            i=i+1
            writeLine='%s'%line      #不是要删除的行就直接复制,写入临时文件  
            writeFileHandle.write(writeLine)
    else:
        break
openFileHandle.close()
writeFileHandle.close()
#os.remove('test.pts')                  #如果要删除修改之前的文件,只需要加上这一句话就好
os.rename('Temp','l2.txt')