<legend id='IAqtU'><style id='IAqtU'><dir id='IAqtU'><q id='IAqtU'></q></dir></style></legend>
      <bdo id='IAqtU'></bdo><ul id='IAqtU'></ul>
  1. <small id='IAqtU'></small><noframes id='IAqtU'>

    1. <i id='IAqtU'><tr id='IAqtU'><dt id='IAqtU'><q id='IAqtU'><span id='IAqtU'><b id='IAqtU'><form id='IAqtU'><ins id='IAqtU'></ins><ul id='IAqtU'></ul><sub id='IAqtU'></sub></form><legend id='IAqtU'></legend><bdo id='IAqtU'><pre id='IAqtU'><center id='IAqtU'></center></pre></bdo></b><th id='IAqtU'></th></span></q></dt></tr></i><div id='IAqtU'><tfoot id='IAqtU'></tfoot><dl id='IAqtU'><fieldset id='IAqtU'></fieldset></dl></div>
    2. <tfoot id='IAqtU'></tfoot>

    3. 如何传递 argparse 参数以充当 kwargs?

      时间:2023-09-28

        • <bdo id='2A5nK'></bdo><ul id='2A5nK'></ul>

          • <i id='2A5nK'><tr id='2A5nK'><dt id='2A5nK'><q id='2A5nK'><span id='2A5nK'><b id='2A5nK'><form id='2A5nK'><ins id='2A5nK'></ins><ul id='2A5nK'></ul><sub id='2A5nK'></sub></form><legend id='2A5nK'></legend><bdo id='2A5nK'><pre id='2A5nK'><center id='2A5nK'></center></pre></bdo></b><th id='2A5nK'></th></span></q></dt></tr></i><div id='2A5nK'><tfoot id='2A5nK'></tfoot><dl id='2A5nK'><fieldset id='2A5nK'></fieldset></dl></div>
            <legend id='2A5nK'><style id='2A5nK'><dir id='2A5nK'><q id='2A5nK'></q></dir></style></legend>

                <tfoot id='2A5nK'></tfoot>

                <small id='2A5nK'></small><noframes id='2A5nK'>

                  <tbody id='2A5nK'></tbody>

              • 本文介绍了如何传递 argparse 参数以充当 kwargs?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我有一个类定义如下

                class M(object):
                    def __init__(self, **kwargs):
                        ...do_something
                

                我有argparse.parse_args()的结果,例如:

                > args = parse_args()
                > print args
                Namespace(value=5, message='test', message_type='email', extra="blah", param="whatever")
                

                我想传递此命名空间的值(message_type 除外)以创建类 M 的实例.我试过了

                I want to pass on the values of this namespace (except message_type) to create an instance of the class M. I have tried

                M(args)
                

                但是出错了

                TypeError: __init__() takes exactly 1 argument (2 given)
                

                我不明白.我该怎么做

                1. args
                2. 的列表中删除值 message_type
                3. 传递值,就像我直接键入 M(value=5, message='test', extra="blah", param="whatever") 一样.

                推荐答案

                你需要传入 vars(args) 的结果:

                You need to pass in the result of vars(args) instead:

                M(**vars(args))
                

                vars() 函数将 Namespace 实例的命名空间(其 __dict__ 属性)作为字典返回.

                The vars() function returns the namespace of the Namespace instance (its __dict__ attribute) as a dictionary.

                M.__init__() 中,只需忽略 message_type 键即可.

                Inside M.__init__(), simply ignore the message_type key.

                这篇关于如何传递 argparse 参数以充当 kwargs?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:pandas:如何使用多索引运行数据透视? 下一篇:在 __init__ 上的 scrapy 管道中使用参数

                相关文章

              • <small id='v3yHZ'></small><noframes id='v3yHZ'>

                  <legend id='v3yHZ'><style id='v3yHZ'><dir id='v3yHZ'><q id='v3yHZ'></q></dir></style></legend>
                1. <i id='v3yHZ'><tr id='v3yHZ'><dt id='v3yHZ'><q id='v3yHZ'><span id='v3yHZ'><b id='v3yHZ'><form id='v3yHZ'><ins id='v3yHZ'></ins><ul id='v3yHZ'></ul><sub id='v3yHZ'></sub></form><legend id='v3yHZ'></legend><bdo id='v3yHZ'><pre id='v3yHZ'><center id='v3yHZ'></center></pre></bdo></b><th id='v3yHZ'></th></span></q></dt></tr></i><div id='v3yHZ'><tfoot id='v3yHZ'></tfoot><dl id='v3yHZ'><fieldset id='v3yHZ'></fieldset></dl></div>
                  <tfoot id='v3yHZ'></tfoot>

                    • <bdo id='v3yHZ'></bdo><ul id='v3yHZ'></ul>