pass data from Matlab to python3 as bytes or bytearray

Matlab has a really nice API for interacting with python. I see how to pass lists, and dicts, etc. But I can't figure out how to create a "bytes" or "bytearray" (python3) data variable in Matlab and pass that variable to a python method that expects a "bytes-like" type. I see that bytes in python passed to Matlab result in an array of uint8s, but the reverse does not appear to be true:
>> py.libscrc.usb16(uint8(8))
Python Error: TypeError: a bytes-like object is required, not 'int'
>> py.libscrc.usb16([uint8(8), uint8(9)])
Python Error: TypeError: argument 1 must be read-only bytes-like object, not array.array
Any hints?
Thanks.

1 Comment

When passing data to python, Matlab is converting your data into type py.int.
Perhaps you can explicitly define the type py.bytes or py.bytearray in Matlab ?

Sign in to comment.

Answers (0)

Products

Release

R2019b

Asked:

on 28 Jan 2020

Edited:

on 29 Jan 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!