【问题标题】:Missing python 3 API functions缺少 python 3 API 函数
【发布时间】:2013-10-14 05:38:06
【问题描述】:

我正在编写代码,似乎 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

【问题讨论】:

    标签: python c python-3.x python-c-api


    【解决方案1】:

    PyFloat_Check()a macro。您需要手动展开它并调用正确的函数。

    【讨论】:

    • 你能给我其他的提示吗?
    • 我对 C 的了解并不多。我希望这是一个函数。无论如何,如果我调用 PyObject_TypeCheck 它说它也没有找到。
    猜你喜欢
    • 1970-01-01
    • 2012-05-27
    • 2013-11-30
    • 2017-07-24
    • 2017-06-11
    • 1970-01-01
    • 2020-06-17
    • 2012-11-24
    • 1970-01-01
    相关资源
    最近更新 更多