Обработка внешней библиотечной функции в функции multiprocesses.Pool map - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь использовать multiprocessing.Pool для создания нескольких процессов, которые могут отправлять байты из списка счетчиков байтов в функцию шифрования из объекта шифрования.

with Pool(processes=4) as pool:
    btList = pool.map(cipher.encrypt, ctrList)

Объект шифрования генерируетсяследующий код:

key = bytes.fromhex(args.k.read())
cipher = AES.new(key, AES.MODE_ECB)

ctrList представляет собой список типов Python bytes, таких как:

ctrList = b'\x00\x00\x00', b'\x00\x00\x00', b'\x00\x00\x00', b'\x00\x00\x00'

Моя проблема заключается в том, что я получаю сообщение об ошибке ValueError: ctypes objects containing pointers cannot be pickled

Я даже пытался создать функцию, которая имеет аргументы (счетчик, шифр), и я все еще получаю те же ошибки.

Что означает эта ошибка?Мои переменные потеряны в новых процессах?

...