PyEval_CallObject 偶尔会在循环中失败
我在使用 Python C API 时遇到了一些困难。我正在调用 python 方法以大约 60hz 执行一些游戏 AI。它在大多数情况下都有效,但每隔一秒左右,对 PyEval…
从 C 访问 PyBuffer 的内容
我已经在 python 中创建了一个缓冲区对象,如下所示: f = io.open('some_file', 'rb') byte_stream = buffer(f.read(4096)) 我现在通过 SWIG 将 byte…
扩展 Python:预加载我的 C 模块
我正在尝试通过我编写的一些 C 函数来扩展 Python 解释器。通过阅读文档,为了公开这些功能,用户必须导入包含这些功能的模块。 是否可以通过 C API …
C 中的 Python 实例方法
考虑以下 Python (3.x) 代码: class Foo(object): def bar(self): pass foo = Foo() 如何用 C 编写相同的功能? 我的意思是,如何使用 C 中的方法创…
如何在Python中重定向stderr?通过Python C API?
这是我最近的两个问题的组合: [1] C 语言中的 Python 实例方法 [2] 如何在 Python 中重定向 stderr? 我想记录python 脚本的 stdout 和 stderr 输出…
Python C API 的命名参数?
如何使用 Python C API 模拟以下 Python 函数? def foo(bar, baz="something or other"): print bar, baz (即,可以通过以下方式调用它 >>> f…
如何使用 Python C API 创建生成器/迭代器?
如何使用 Python C API 复制以下 Python 代码? class Sequence(): def __init__(self, max): self.max = max def data(self): i = 0 while i < sel…
在 C++ 中创建 PyTuple模块崩溃
这段代码遇到一些问题。尝试从我正在编写的 C++ 模块返回元组的元组(坐标)。在我看来是正确的,dirty 列表包含两个 Coord,因此 len 为 2,x 和 <…
如何在Python setup.py 脚本中将标志传递给gcc?
我正在用 C 语言编写一个 Python 扩展,它需要 CoreFoundation 框架(除其他外)。这可以很好地编译:( gcc -o foo foo.c -framework CoreFoundation…
PyAPI_DATA() 宏的解释?
我在网上进行了搜索,似乎找不到文档,甚至找不到 PyAPI_DATA() 功能的简单解释(即使它是 用于 Python 头文件 和 在 python.org 上引用)。有人能解…
PyDateTime_IMPORT 宏未初始化 PyDateTimeAPI 变量
我在 Windows 上使用 Visual Studio 2008 使用 Python C API。当我尝试使用 PyDate_Check 宏和其他相关宏时,它们会导致访问冲突,因为静态变量 PyDat…
Python 解释器作为 c++班级
我正在致力于将 python 嵌入到 c++ 中。在某些特殊情况下,我需要同一线程中的两个单独的解释器实例。 我可以将 Python 解释器包装到 C++ 类中并从两…
为什么 Python 对 False 和 True 保留引用计数?
我正在查看 hasattr 内置函数的源代码,注意到有几行激起了我的兴趣: Py_INCREF(Py_False) return Py_False ... Py_INCREF(Py_True) return Py_True …
我可以使用 C++ 扩展 Python 时的功能?
Python 手册说你可以用 C 和 C++ 创建 Python 模块。 使用 C++ 时可以利用类和模板之类的东西吗? 它不会造成与其他库和解释器的不兼容吗?…
使用 C API 创建在 python 中声明的 python 类的实例
我想使用 C API 创建在 __main__ 范围内定义的 Python 类的实例。 例如,该类名为 MyClass 并定义如下: class MyClass: def __init__(self): pass 类…