Я пытаюсь запустить эту строку:ул не отозваны TypeError с очередями и процессами
print '%s queued as job %r' % (job.name(), jobs_queued.qsize())
, и я получаю эту ошибку, указывая на этой линии:
TypeError: 'str' object is not callable
оглядевшись, я заметил, что это ошибка была вызвана прежде всего использованием «str» в качестве переменной, однако я не сделал ничего подобного. Может ли кто-нибудь дать им понимание?
jobs_queued является Queue(), и работа является процессом()
jobs_queued = Queue()
job = multiprocessing.Process(name=phi_dir, target=task, args=(phi_dir,))
phi_dir является строкой, то задача является функцией, которая вызывает скрипт.
Эта ошибка обычно возникает из-за того, что вы пытаетесь использовать объект типа str, как если бы это была функция, то есть: s (a) где s - строка. Я не думаю, что это связано с попыткой назвать переменную str. Для вашего кода должно быть что-то большее - эта строка работает для меня, если я использую («привет», 12) как кортеж. job.name() выглядит подозрительно. –
, как указано в пункте пыльника :) Извините, что ящик для редактирования был слишком длинным. –
Как вы заметили, вы посмотрели 'multiprocessing.Pool'? Это может позаботиться о многом из того, что вы пытаетесь сделать здесь. –