2016-07-14 22 views
1

我正在嘗試生成多個線程,每個線程都調用一個處理列表中的項目的函數。下面的插圖,但是我收到以下錯誤,我不完全確定爲什麼TypeError: stuff() takes exactly 1 argument (56 given)。下面的代碼是測試這個想法的功能的一個片段。我將在繼續之前檢查每個線程是否仍處於活動狀態(稍後,一旦錯誤的原因被識別)。任何幫助都會被處理。我相信該線程將參數作爲一個列表,這可能是原因(文件名被拆分),但我不知道如何獲取列表(列表中的每個項目)的問題。如果你不能解析該項目的功能。Multie項目列表上的工作人員

def stuff(filename): 
    Stuff done to filename 


threads = [] 
for filename in file_list: #File list contains list of full path filenames. 
    thread1 = threading.Thread(target=stuff, args=(filename)) 
    threads.append(thread1) 
    thread1.start() 

回答

2

你應該傳遞一個元組args。沒有逗號,,它不是一個元組 - 它只是一個簡單的表達式,用括號括起來。

thread1 = threading.Thread(target=stuff, args=(filename,)) 
                 ^^^ 
+0

Doh!謝謝你哈哈 – iNoob

相關問題