前言
在没有遇到np.loadtxt这个方式之前,我都是纯手写的代码,非常的冗余不好看,读取.txt文本内容的也不太方便,所以接下来这个函数将会帮我们完美的解决这个问题。
文件内容
.txt
541 6 599 62 544 9 598 62
代码文件
1.py
import numpy as np if __name__ == "__main__": box_list = [] with open(car_bbox_path, 'r') as f: for idx, data_ in enumerate(f.readlines()): data = data_.replace('\n', "").split(" ") bbox = [int(x) for x in data] box_list.append(bbox) f.close() print(box_list)
print()
(gp) C:\Users\86137\Desktop\PF-Face>python pf.py [[714, 390, 1018, 632], [714, 390, 1018, 633]]
这样子写代码会显得代码非常的冗余不好看,实际上这完全可以用np.loadtxt这个函数进行便携性读取.txt文件内容,并将数据转换为想要的形式,比如:list(),且可以控制数据类型,比如:int。那,如果我们使用np.loadtxt函数呢,会是这么样子的风景?(如2.py所示)
2.py
import numpy as np if __name__ == "__main__": box_list= np.loadtxt(car_bbox_path, delimiter=' ',dtype=int).tolist() print(box_list)
很难相信1.py与2.py实现的是同一个功能,这么看,我觉得我已经,完美的展现了np.loadtxt函数的简便性了!
print()
(gp) C:\Users\86137\Desktop\PF-Face>python pf.py [[714, 390, 1018, 632], [714, 390, 1018, 633]]
完毕!
是不是超级简单呢?如果大家觉得有帮助的话,欢迎三连!
#致谢