python
python读取文件并按属性取值
定义类,使得传入的值后续可以通过属性取出
class sepByAttr: # 自定义的元素
def __init__(self, (thk_dowm, thk_up, rangeSpc, minWorkSpc, impBaseComp, baseLineComp)):
self.thk_dowm = float(thk_dowm)
self.thk_up = float(thk_up)
self.rangeSpc = rangeSpc
self.minWorkSpc = float(minWorkSpc)
self.impBaseComp = float(impBaseComp) if impBaseComp != 'None' else 0
self.baseLineComp = float(baseLineComp) if baseLineComp != 'None' else 0
文件示例 test1.txt
0.6 0.8 1.6<=B<=1.8 1.4 0.8 0.2
0.8 1.2 1.8<B<=2.3 1.6 1 0.2
应用
import os
if os.path.exists('test1.txt'):
f = open('test1.txt')
comp_data_sec1 = map(lambda x: x.strip().split("\t"), f.readlines())
comp_data_sec1 = [sepByAttr(x) for x in comp_data_sec1]
comp_val = ''
for line in comp_data_sec1:
if line.thk_down < 0.9 < line.thk_up:
comp_val = line.impBaseComp