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(" ").split(" ") 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" + ' ' + "../lfw_crop/" + list[i][0] + "/" + list[i][0] + "_" + list[i][2] + ".jpg" + ' ' + "1 " labellines.append(labelline) elif len(list[i]) == 4: labelline = "../lfw_crop/" + list[i][0] + "/" + list[i][0] + "_" + list[i][1] + ".jpg" + ' ' + "../lfw_crop/" + list[i][2] + "/" + list[i][2] + "_" + list[i][3] + ".jpg" + ' ' + "0 " 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!")