Эквивалент Python для упаковочной функции Ruby - PullRequest
2 голосов
/ 15 января 2010

Я перевожу некоторые из моих старых сценариев Ruby на Python, и у меня возникают проблемы с поиском в Python функции, которая принадлежит Ruby: http://www.ruby -doc.org / core / classes / Array.src / M002222.html - который сохраняет массив в порядке байтов с прямым порядком байтов. Есть ли какой-нибудь модуль Python, который может мне помочь?

Ответы [ 2 ]

1 голос
/ 17 ноября 2014

Встроенный Python memoryview позволяет вам "приводить" массив или любой байтоподобный объект к другой последовательностиВыберите метод .cast .Самое замечательное в представлениях памяти - они работают без копирования байтов: они совместно используют память со структурой исходных данных.

1 голос
/ 15 января 2010

Модуль array стандартной библиотеки Python может предлагать несколько схожую функциональность (хотя это определенно не точное совпадение). Это не приводит к порядку байтов (вы можете менять порядковый номер элементов методом byteswap) и не сохраняет элементы как «строку» (вы можете конвертировать туда и обратно с помощью методов tostring и fromstring), но это может быть стоит посмотреть, в зависимости от того, как вы используете функцию Ruby pack, я думаю.

...