J'ai un problème avec le threading de Python et l'envoi d'une chaîne de caractères dans les arguments.
def processLine(line) :
print "hello";
return;
.
dRecieved = connFile.readline();
processThread = threading.Thread(target=processLine, args=(dRecieved));
processThread.start();
Où dRecieved est la chaîne d'une ligne lue par une connexion. Elle appelle une fonction simple qui, pour l'instant, n'a pour seule tâche que d'imprimer "hello".
Cependant, j'obtiens l'erreur suivante
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 est la longueur de la chaîne que j'essaie de passer, donc je suppose qu'il s'agit de la décomposer en chaque caractère et d'essayer de passer les arguments de cette manière. Cela fonctionne bien si j'appelle simplement la fonction normalement, mais j'aimerais vraiment la configurer comme un thread séparé.