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

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -