【发布时间】:2011-08-30 22:28:18
【问题描述】:
我使用 Python/C API 在 C 中构建了一个类。我现在需要遍历 C blob 中的数据项。返回 PyList 是不可取的,因为长度 > 50K。有没有办法提供类似生成器的功能?
我的一个解决方案是将类包装在另一个纯 python 类中,并在该级别编写生成器函数。还有其他方法吗?
【问题讨论】:
标签: generator python-c-api python-c-extension
我使用 Python/C API 在 C 中构建了一个类。我现在需要遍历 C blob 中的数据项。返回 PyList 是不可取的,因为长度 > 50K。有没有办法提供类似生成器的功能?
我的一个解决方案是将类包装在另一个纯 python 类中,并在该级别编写生成器函数。还有其他方法吗?
【问题讨论】:
标签: generator python-c-api python-c-extension
根据PEP 234,您需要做的就是在您的python C 类中实现tp_iternext 槽。
【讨论】: