我试图将列表作为参数传递给线程函数。此列表的长度可能有所不同,但我无法弄清楚如何操作。以下是我正在使用的代码。现在,我只想将列表放入线程函数并在屏幕上打印。
#!/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
我做错了什么?
答案 0 :(得分:1)
您可以将语法更改为此,否则将不会定义args
:
def generateRange(*starting_chars):
print str(starting_chars)
答案 1 :(得分:1)
我不知道你为什么特意希望这个论点被命名为“starting_chars'但是:
def generateRange(*starting_chars):
print str(starting_chars)
或
def generateRange(*args):
print str(args)
应该可以正常工作