将参数添加到configpar的

2024-10-02 16:24:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想通过继承SafeConfigParser来扩展它的一些功能:

class ExtendedConfigParser(SafeConfigParser):

    def __init__(self, *args, **kwargs):
        SafeConfigParser.__init__(self, *args, **kwargs)

…但是SafeConfigParser的init有问题:

^{pr2}$

我可以通过删除kwargs中添加的kw参数来解决这个问题,但是我想知道是否有更优雅的解决方案?(注意:SafeConfigParser似乎是一个老式的类)。在


Tags: self功能参数initdefargs老式解决方案
1条回答
网友
1楼 · 发布于 2024-10-02 16:24:08

我假设您继承了Python的SafeConfigParser,并且您试图像这样实例化ExtendedConfigParser

cfg_parser = ExtendedConfigParser(config_file='my_file.cfg')

如果是这样,那么SafeConfigParser没有任何名为config_file的关键字参数,而这正是错误的来源。在

python中的函数声明允许您指定参数、关键字参数,然后它允许通过*args**kwargs指定参数和关键字参数。我假设您想访问config_file只访问ExtendedConfigParser中的,而不是SafeConfigParser。在

您只需更改ExtendedConfigParser中的__init__参数:

^{pr2}$

这允许您为ExtendedConfigParser指定任何需要的参数,然后将任何其他参数传递给SafeConfigParser的构造函数。在

相关问题 更多 >