1

簡単な質問: 引数の任意のリストを python callable に渡すにはどうすればよいですか?

次のように、コマンド ラインから関数を呼び出したいとします。

my_script.py foo hello world

次のスクリプトを使用します。

import myfuncs
f = getattr(myfuncs, sys.args[1])
if f and callable(f):
    # This is the bit I don't know. I effectively want f(sys.args[2:])

これを行う方法があると確信していますが、見落としているに違いありません。

4

2 に答える 2

6

あなたはシーケンスのアンパックを探しています。いえf(*sys.argv[2:])

于 2010-11-15T16:46:42.313 に答える
4

そうです、ドキュメントの引数リストのアンパックセクションをチェックしてください。

あなたの特定の用途のために、それはこのようなものかもしれません

def f(a, b, c): 
  print a, b, c

stuff = ['f',2,3,4]

f(*stuff[1:]) ### equivalent to f(2,3,4)
于 2010-11-15T16:51:16.143 に答える