2017-11-11 178 views
1

我試圖將列表作爲參數傳遞給線程函數。這份名單可能會有所不同,但我無法弄清楚如何去做。以下是我正在使用的代碼。現在,我只想讓列表進入線程函數並在屏幕上打印。將變量長度列表作爲參數傳遞給線程函數

#!/usr/bin/python 
import threading 
import Queue as queue 


def generateRange(starting_chars=(*args)): 
    print str(starting_chars) 


for i in range(32,126): 
    q = queue.Queue() 
    theArgs = [i,32,32] 
    threads = [ threading.Thread(target=generateRange,args=theArgs) ] 
    # generateRange([i,32,32]) 
    for th in threads: 
     th.daemon = True 
     th.start() 

我得到這個錯誤:

File "./test.py", line 6 
    def generateRange(starting_chars=(*args)): 
            ^
SyntaxError: invalid syntax 

我在做什麼錯?

回答

1

您可以將語法改變這一點,否則args不會被定義爲:

def generateRange(*starting_chars): 
    print str(starting_chars) 
1

我不知道爲什麼你特別想要的參數被命名爲「starting_chars」,但:

def generateRange(*starting_chars): 
    print str(starting_chars) 

def generateRange(*args): 
    print str(args) 

應該正常工作

相關問題