python - How pass an argument as method of a module -
hi want call f('append','more','arguments',a=1,b=2)
but append method(function) of pyquery module
so arg[0] method
i want make
e.arg[0]('<div id="cool"></div>') run e.append('<div id="cool"></div>') -- want pass "append" argument
import pyquery d = pq('<div id="guido"></div>') d.append('<div id="cool"></div>') str(d) def f (*arg,**kargs): e = pq('<div id="guido"></div>') e.arg[0]('<div id="cool"></div>') # <== here return str(e) f('append','more','arguments',a=1,b=2) so f('append','more','arguments',a=1,b=2) must return
'<div id="guido"><div id="cool"/></div>'
i recommend against passing method names around in strings if can avoid (pass reference method instead), if can't, want getattr(), function gets attribute of object name contained in string. let reference desired method, , can call usual.
def f (*arg, **kargs): e = pq('<div id="guido"></div>') getattr(e, arg[0])('<div id="cool"></div>') return str(e)
Comments
Post a Comment