Python Threading Строковые Аргументы

131
задан Anonymous 11 July 2010 в 02:43
поделиться

1 ответ

Вы пытаетесь создать кортеж, но вы просто заключаете строку в скобки :)

Добавьте дополнительный ',':

dRecieved = connFile.readline()
processThread = threading.Thread(target=processLine, args=(dRecieved,))  # <- note extra ','
processThread.start()

Или используйте скобки, чтобы составить список:

dRecieved = connFile.readline()
processThread = threading.Thread(target=processLine, args=[dRecieved])  # <- 1 element list
processThread.start()

Если вы заметили, из трассировки стека: self .__ target (* self .__ args, ** self .__ kwargs)

* self .__ args превращает вашу строку в список символов, передавая их processLine функция. Если вы передадите ему список из одного элемента, он передаст этот элемент в качестве первого аргумента - в вашем случае - строку.

260
ответ дан 24 November 2019 в 00:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: