Python 2.7 动态调用模块的函数

Python 2.7 动态调用模块的函数,python-2.7,Python 2.7,我在类dothis中有一个函数get_more(),直接使用时可以这样调用: new = DoThisForThat(opt1=something, opt2=blah).add_more(opt3=more1, opt4=more2).add_more(opt3=more10, opt4=more11) 我正在构建一个使用.json文件并动态生成上述调用的包装器。我对python非常陌生,不确定如何实现这一点。我看了一些选项,看起来getattr是我最好的选择?任何帮助都将不胜感激:) 编辑

我在类dothis中有一个函数get_more(),直接使用时可以这样调用:

new = DoThisForThat(opt1=something, opt2=blah).add_more(opt3=more1, opt4=more2).add_more(opt3=more10, opt4=more11)
我正在构建一个使用.json文件并动态生成上述调用的包装器。我对python非常陌生,不确定如何实现这一点。我看了一些选项,看起来getattr是我最好的选择?任何帮助都将不胜感激:)

编辑:


我尝试过设置json配置一次只能使用2个度量,而不是“动态”设置。但是,如果一个用户有更多的度量,那么需要调用“.add_more()”来获取提供的度量的数量,我不知道该怎么做。如果你能给我指出正确的方向,我可以试试。此时,我甚至不知道如何动态调用“.add_more(opt3=…,opt4=…)”。当前配置:

{"add_more":[ {"metric":"sum(impressions)", "days":"13"},
              {"metric":"count(rollups)", "days":"7"},
              {"metric":"avg(clicks)", "days":"2"} 
            ]}

目前,按照我的方式,用户被迫一次提供两个配置。所以我基本上有这样的东西:

setup_call = DoThisForThat(opt1="tbl_name",
                           opt2="schema"
                          ).add_more(
                           opt3="sum(impressions)",
                           opt4="13"
                          ).add_more(
                           opt3="sum(impressions)",
                           opt4="7"
                          ) 

上面json配置中提供的第三个指标被忽略,因为调用“add_more()”的设置不是动态的

我尝试过将其设置为非动态的,其中json配置一次只能使用两个指标。但是,如果一个用户有更多的度量,那么需要调用“.add_more()”来获取提供的度量的数量,我不知道该怎么做。如果你能给我指出正确的方向,我可以试试。此时,我甚至不知道如何动态调用“.add_more(opt3=…,opt4=…)”。当前配置:{“添加更多”:[{“度量”:“总和(印象)”,“天数”:“13”},{“度量”:“计数(汇总)”,“天数”:“7”},{“度量”:“平均点击次数”,“天数”:“2”}]}目前,按照我的方式,用户被迫一次提供两个配置。所以我基本上有这样的东西:setup_call=DoThisForThat(opt1=“tbl_name”,opt2=“schema”)。add_more(opt3=“sum(impressions)”,opt4=“13”)。add_more(opt3=“sum(impressions)”,opt4=“7”)自从设置调用“add_more()”以来,上面json配置中提供的第三个度量被忽略了不是动态的。请将其添加到问题中,代码格式正确。变量参数如何*kwargs还是**args?这就是你想要的东西吗?我已经尝试过设置它,而不是“动态地”,json配置一次只能使用2个指标。但是,如果一个用户有更多的度量,那么需要调用“.add_more()”来获取提供的度量的数量,我不知道该怎么做。如果你能给我指出正确的方向,我可以试试。此时,我甚至不知道如何动态调用“.add_more(opt3=…,opt4=…)”。当前配置:{“添加更多”:[{“度量”:“总和(印象)”,“天数”:“13”},{“度量”:“计数(汇总)”,“天数”:“7”},{“度量”:“平均点击次数”,“天数”:“2”}]}目前,按照我的方式,用户被迫一次提供两个配置。所以我基本上有这样的东西:setup_call=DoThisForThat(opt1=“tbl_name”,opt2=“schema”)。add_more(opt3=“sum(impressions)”,opt4=“13”)。add_more(opt3=“sum(impressions)”,opt4=“7”)自从设置调用“add_more()”以来,上面json配置中提供的第三个度量被忽略了不是动态的。请将其添加到问题中,代码格式正确。变量参数如何*kwargs还是**args?这就是你想要的东西吗?