J'essaie de transmettre un argument chaîne à une fonction cible dans un processus. D'une certaine façon, la chaîne est interprétée comme une liste d'autant d'arguments qu'il y a de caractères.Arguments de chaîne en multiprocesseur python
Voici le code:
import multiprocessing
def write(s):
print s
write('hello')
p = multiprocessing.Process(target=write, args=('hello'))
p.start()
Je reçois cette sortie:
hello
Process Process-1:
Traceback (most recent call last):
>>> File "/usr/local/lib/python2.5/site-packages/multiprocessing/process.py", line 237, in _bootstrap
self.run()
File "/usr/local/lib/python2.5/site-packages/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
TypeError: write() takes exactly 1 argument (5 given)
>>>
Qu'est-ce que je fais mal? Comment suis-je censé passer un stringn?
Merci, Ariel