Python 2.7 动态调用模块的函数
我在类dothis中有一个函数get_more(),直接使用时可以这样调用: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是我最好的选择?任何帮助都将不胜感激:) 编辑
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?这就是你想要的东西吗?