如何将关键字参数传递给reactor.callLater

时间:2012-04-08 02:14:42

标签: python twisted

我想用reactor.callLater调用一个函数,方法是用关键字传递所有变量,用索引传递所有变量。

reactor.callLater(0, some_function, kw={'foo':'bar'})

这会产生错误,因为不期望kw

...
File "C:\App\Python27\lib\site-packages\twisted\internet\base.py", line 800, in runUntilCurrent
    call.func(*call.args, **call.kw)
exceptions.TypeError: function_result() got an unexpected keyword argument 'kw'

这些是文档: http://twistedmatrix.com/documents/8.1.0/api/twisted.internet.interfaces.IReactorTime.html#callLater

我该怎么办?

1 个答案:

答案 0 :(得分:5)

reactor.callLater(0, some_function, foo="bar")

当函数签名说**kw时,它们意味着将它们作为键值参数(命名)传递。你在这里传递的内容应该是你直接调用函数时要传递的内容。