все Python 3до 3.9Удалено из стандартной библиотекифункция
array.array.fromstring()
удалено
Старое имя метода array.frombytes(): дописывает в массив элементы из байтов. Удалено в Python 3.9 — используйте frombytes().
Синтаксис
a.fromstring(data) # до 3.9
Метод читал байты и дописывал их в массив как машинные значения элементов. Имя досталось от Python 2, где байты звались строкой; в Python 3.2 его заменили на frombytes(), а в 3.9 псевдоним убрали. Как переписать: a.fromstring(data) → a.frombytes(data). Если раньше передавали str, сначала закодируйте его: a.frombytes(text.encode('ascii')). Число байтов должно делиться на a.itemsize.
Примеры
# Python 3.9+
import array
a = array.array('B')
try:
a.fromstring(b'hi')
except AttributeError as e:
print(type(e).__name__) # → AttributeError
# Python 3.9+
import array
a = array.array('B')
a.frombytes(b'hi')
print(a.tolist()) # → [104, 105]
a.frombytes('ok'.encode('ascii'))
print(a.tolist()) # → [104, 105, 111, 107]
import array
a = array.array('B')
a.fromstring(b'hi')
print(a.tolist()) # → [104, 105]
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности