Как вы вычисляете длину строки, которая будет возвращена Array :: pack? Есть ли что-то вроде Calcsize Python?
array.pack (""). Count, я бы сказал. Не самый быстрый метод, но он работает.
Путем создания интерпретатора, соответствующего спецификациям, найденным в Array :: pack .
Или повторно использовать существующую реализацию для подсчета количества символов вместо добавления их в строку.