我有下面的代碼,它基於我在這裏找到的一個例子,但是當我運行它時,出現錯誤。請幫幫忙,我敢肯定,它很簡單:爲什麼我在Python中使用線程中的TypeError
def listener(port):
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('',port))
sock.settimeout(1) # n second(s) timeout
try:
while True:
data, addr = sock.recvfrom(1024)
print data
except socket.timeout:
print 'Finished'
def startListenerThread(port):
threading.Thread(target=listener, args=(port)).start()
我得到的錯誤是:
Exception in thread Thread-1:
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 522, in __bootstrap_inner
self.run()
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/threading.py", line 477, in run
self.__target(*self.__args, **self.__kwargs)
TypeError: listener() argument after * must be a sequence, not int
這個問題的標題應該是一個真正的問題,例如「爲什麼我會得到」參數,必須是一個序列)創建一個ThreadQ?「。正確的問題名稱幫助人們找到正確的問題 – ecerulm 2015-05-27 11:20:26