我想通过继承SafeConfigParser来扩展它的一些功能:
class ExtendedConfigParser(SafeConfigParser):
def __init__(self, *args, **kwargs):
SafeConfigParser.__init__(self, *args, **kwargs)
…但是SafeConfigParser的init有问题:
^{pr2}$我可以通过删除kwargs中添加的kw参数来解决这个问题,但是我想知道是否有更优雅的解决方案?(注意:SafeConfigParser似乎是一个老式的类)。在
我假设您继承了Python的
SafeConfigParser
,并且您试图像这样实例化ExtendedConfigParser
:如果是这样,那么
SafeConfigParser
没有任何名为config_file
的关键字参数,而这正是错误的来源。在python中的函数声明允许您指定参数、关键字参数,然后它允许通过
*args
和**kwargs
指定参数和关键字参数。我假设您想访问config_file
只访问ExtendedConfigParser
中的,而不是SafeConfigParser
。在您只需更改
^{pr2}$ExtendedConfigParser
中的__init__
参数:这允许您为
ExtendedConfigParser
指定任何需要的参数,然后将任何其他参数传递给SafeConfigParser
的构造函数。在相关问题 更多 >
编程相关推荐