我有下面的代碼,這將導致該錯誤:問題傳遞參數到Python功能與裝飾
TypeError('smallTask() takes exactly 1 argument (2 given)',)
@task
def master():
count = 0
obj = { 'var1':'val1', 'var2':'val2' }
while count < 10:
subtask('smallTask',obj).apply_async()
count += 1
@task(name='smallTask')
def smallTask(obj):
print obj
傳遞一個字典的功能,我想我需要使用* * kwargs,但如果我這樣做,我得到的錯誤,該函數沒有任何參數,但已提供2。
我認爲這裏的問題是無論是裝飾者(有一個基本的理解,但不足以解決問題)或在芹菜subtask函數。
我沒有足夠的Python知識來真正進行......任何人都可以給我一個關於發生了什麼的想法,以及如何將smallTask函數傳遞給字典?
好吧,這絕對有效,並樂意接受,但在這一點上,它可能是巫術。請介意再詳細一點嗎?我可以研究關鍵字參數,但爲什麼obj是一個元組?謝謝, – rix
@rix:展開。這真是一個閱讀文檔的問題。 –
謝謝,這有很大的幫助。更多的情況是,我並不瞭解足夠的python以使文檔變得有用。需要閱讀位置和關鍵字參數。真的很感謝你花時間回答。謝謝! – rix