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

Mohammad Sami
Mohammad Sami 2020년 1월 29일
편집: Mohammad Sami 2020년 1월 29일
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 ?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

도움말 센터File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2020년 1월 28일

편집:

2020년 1월 29일

Community Treasure Hunt

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

Start Hunting!

Translated by