我在Python线程化和在参数中发送字符串时遇到问题。
def processLine(line) :
print "hello";
return;
。
dRecieved = connFile.readline();
processThread = threading.Thread(target=processLine, args=(dRecieved));
processThread.start();
其中dRecieved是由连接读取的一行字符串。它调用一个简单的函数,该函数到目前为止只有一个打印"hello“的任务。
但是,我得到了以下错误
Traceback (most recent call last):
File "C:\Python25\lib\threading.py", line 486, in __bootstrap_inner
self.run()
File "C:\Python25\lib\threading.py", line 446, in run
self.__target(*self.__args, **self.__kwargs)
TypeError: processLine() takes exactly 1 arguments (232 given)
232是我试图传递的字符串的长度,所以我猜它会把它分解成每个字符,并尝试像这样传递参数。如果我只是正常地调用这个函数,它会工作得很好,但我真的希望将它设置为一个单独的线程。
发布于 2020-12-29 11:53:05
from threading import Thread
from time import sleep
def run(name):
for x in range(10):
print("helo "+name)
sleep(1)
def run1():
for x in range(10):
print("hi")
sleep(1)
T=Thread(target=run,args=("Ayla",))
T1=Thread(target=run1)
T.start()
sleep(0.2)
T1.start()
T.join()
T1.join()
print("Bye")
https://stackoverflow.com/questions/3221655
复制相似问题