pass data from Matlab to python3 as bytes or bytearray
17 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commento
Mohammad Sami
il 29 Gen 2020
Modificato: Mohammad Sami
il 29 Gen 2020
When passing data to python, Matlab is converting your data into type py.int.
Conversion are shown here https://www.mathworks.com/help/releases/R2019b/matlab/matlab_external/passing-data-to-python.html
Perhaps you can explicitly define the type py.bytes or py.bytearray in Matlab ?
Risposte (0)
Vedere anche
Categorie
Scopri di più su Call Python from MATLAB in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!