我正在尝试读取一个简单的文本文件,并获得基本行格式的输出。我有一个父类和一个子类。我首先实例化子类,它应该从父类继承数据结构(这就是它所包含的全部内容)。在解析输入文件时,子类应该将行输入到子类逐行实例化后建立的列表中。我不知道如何获得从main()
调用的输出
我曾尝试过regex将组解析到列表中,但似乎没有什么不同或帮助。我还尝试在add()函数的末尾调用output函数。当我检查输出函数时,列表和对象都没有定义。你知道吗
输入,由单个空格分隔
E031 HR+ 301d
E005 HR+ 263d
E036 HR+ 415d
E043 HR+ 68d
E003 HR+ 133d
E044 HR+ 323d
E047 HR+ 117d
E037 HER2+ 14d
E048 TNBC 27d
E049 TNBC 148d
E046 TNBC 269d
E015 TNBC 0d
你知道吗主.py你知道吗
import data
def main():
#declare ObservationSet object
entry = data.ObservationSet()
entry.loadFile("input.txt")
entry.output()
if __name__ == '__main__':
main()
你知道吗数据.py你知道吗
#class dfn & constructor
class Observation:
def __init__(self, patientNum = None, marker = None, timeLapse = None):
self.patientNum = patientNum
self.marker = marker
self.timeLapse = timeLapse
#class dfn & constructor
class ObservationSet():
def __init__(self, observations=None):
self.observations = observations
#establish list for multiple observations
if self.observations is None:
self.observations = list()
#isa list here -- print(type(self.observations))
#load file to process lines function
def loadFile(self, fileName):
for line in open(fileName):
#line = line.rstrip()
#add here to Observation object
for patient in line:
observation = Observation(patient)
self.add(observation)
#append to observations list next line of observations
def add(self, observation):
self.observations.append(observation)
def output(self):
#no idea
我真正想看到的是使用.format()的类似内容
患者编号:E031生物标志物:HR+分子和临床复发之间的时间间隔:301天
******编辑 首先,我希望压痕更清晰 其次,我错了。容器是正确的,不是继承。我回去看看能不能修好。到目前为止,我删除了明显的inherit行。但我不确定的代码使ObsSet为Obs的容器。你知道吗
******编辑2 我尝试了以下编辑:
for patient in line:
observation = Observation(patient)
self.add(observation)
还有这个:
def output(self):
for obs in self.observations:
print(obs)
在输出函数中,obs是一个对象,而不是数据本身。如果我接受推荐信自我观察,我得到一个全局名称未定义错误。也就是说,obs是一个数据。观察对象。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐