LFW精确度验证__python读写txt


python 中 os._exit(), sys.exit()

1、os._exit() 不抛异常,后面的代码就不执行了。不执行相关清理工作,直接退出 Python 解释器一般来说用在子线程中退出

2、sys.exit() 引发一个 SystemExit 异常,没有捕获这个异常,会直接退出;捕获这个异常可以做一些额外的清理工作。用于在主线程中退出。sys.exit(n)只有n=0是正常退出,其他都为非正常退出.

实例链接:基于VGG-Face的人脸识别测试,其中paira.txt下载地址:http://vis-www.cs.umass.edu/lfw/#views

import sys

def get_all_images(filename):
    file = open(filename)
    lines = file.readlines()
    list = []
    for line in lines:
        line_split = line.strip("\n").split("\t")
        if len(line_split) == 3:
            line_split[-1] = line_split[-1].zfill(4)
            line_split[-2] = line_split[-2].zfill(4)
        elif len(line_split) == 4:
            line_split[-1] = line_split[-1].zfill(4)
            line_split[-3] = line_split[-3].zfill(4)
        list.append(line_split)
    file.close()
    return list

def save2labelfile(list):
    file = open("label.txt", "w")
    labellines=[]
    for i in range(len(list)):
        if len(list[i]) == 3:
            labelline = "../lfw_crop/" + list[i][0] + "/" + list[i][0] + "_" + list[i][1] + ".jpg" + '\t\t' \
                        + "../lfw_crop/" + list[i][0] + "/" + list[i][0] + "_" + list[i][2] + ".jpg" + '\t\t' + "1\n"
            labellines.append(labelline)
        elif len(list[i]) == 4:
            labelline = "../lfw_crop/" + list[i][0] + "/" + list[i][0] + "_" + list[i][1] + ".jpg" + '\t\t' \
                        + "../lfw_crop/" + list[i][2] + "/" + list[i][2] + "_" + list[i][3] + ".jpg" + '\t\t' + "0\n"
            labellines.append(labelline)
    file.writelines(labellines)
    file.close()

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Format Error! Usage: python %s pair.txt" % sys.argv[0])
        sys.exit()
    list = get_all_images('pairs.txt')
    save2labelfile(list)
    print("Done!")

 

posted @ 2019-06-29 13:50  Johnny、  阅读(649)  评论(0编辑  收藏  举报