我有以下代码:继承,然后覆盖父初始化
# file1.py
class GenericScript(object):
def __init__(self):
self.start_time = time.time()
self.date_stem = str(timezone.now().date()).replace('-','')
self.script_name = os.path.basename(sys.argv[0]).replace('.py','')
self.file_name = None
self.log_file = None
self.integrity_field = '%s+%s' % (self.script_name, str(int(time.time())))
# file2.py
class RTUpdater(GenericScript):
def __init__(self):
self.integrity_field = '%s+%s' % (self.script_name, self.date_stem)
self.update_title_data = False
self.update_title_ranking = True
self.update_title_box_office = True
self.update_person_ranking = True
我所试图做的是电话RTUpdate()
,并得到它首先初始化所有的项目在父类,然后添加到那些它自己的__init__
方法。但是,当我打电话时,self.integrity_field
不断提出错误,因为self.script_name
未定义,这意味着它不是首先继承父项__init__
变量。以下是我如何称呼它:
if __name__ == '__main__':
x = RTUpdater()
main(x)
>>> AttributeError: 'RTUpdater' object has no attribute 'script_name'
我在做什么错,我该如何解决这个问题?