1

我正在编写一些代码,似乎 python 提供的一些 C API 函数不起作用。我主要尝试了检查类型的功能,例如:

import ctypes
python33_dll = ctypes.CDLL('python33.dll')
a_float = python33_dll.PyFloat_FromDouble(ctypes.c_float(2.0))
python33_dll.PyFloat_Check(a_float)
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    python33_dll.PyFloat_Check(a_float)
  File "C:\Python33\lib\ctypes\__init__.py", line 366, in __getattr__
    func = self.__getitem__(name)
  File "C:\Python33\lib\ctypes\__init__.py", line 371, in __getitem__
    func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'PyFloat_Check' not found

我需要做些什么来使用这个功能,还是它是一个错误?

docs.python.org/3.3/c-api/float.html?highlight=double#PyFloat_Check

4

1 回答 1

1

PyFloat_Check()一个宏。您将需要手动扩展它并调用正确的函数。

于 2013-10-14T06:01:35.590 回答