2015-09-16 2 views
0

В соответствии с документами comtypes можно передать массивы numpy в объекты comtypes, но как передать скалярные значения, например. numpy.float32(1.0)?python comtypes как передать numpy float32 (singe-precision float) как скаляр?

https://pythonhosted.org/comtypes/#numpy-interop

Я получаю следующее сообщение об ошибке:

--------------------------------------------------------------------------- 
ArgumentError        Traceback (most recent call last) 
<ipython-input-67-9e7e5859c6a5> in <module>() 
----> 1 com_obj.Update("string_name",np.float32(6.6e-6)) 
ArgumentError: argument 2: <type 'exceptions.TypeError'>: Cannot put 6.5999998e-06 in VARIANT 
+0

https://github.com/enthought/comtypes/issues/86 – denfromufa

ответ

2

Передача ctypes.c_float вместо np.float32 будет работать. например com_obj.Update("string_name", ctypes.c_float(6.6e-6)).

+0

Вы также упомянули ctypes.c_float – denfromufa

+0

Спасибо, что указали это. Я изменил свой ответ, чтобы ссылаться на 'ctypes.c_float' вместо' cython.float'. –

 Смежные вопросы

  • Нет связанных вопросов^_^