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