Python swig:如何将上下文管理器方法添加到不透明句柄?
当刷不透明句柄(在我的例子中是指向某个库内部结构的指针)时,我们如何添加上下文管理器方法Python swig:如何将上下文管理器方法添加到不透明句柄?,python,swig,Python,Swig,当刷不透明句柄(在我的例子中是指向某个库内部结构的指针)时,我们如何添加上下文管理器方法 为什么我必须编造一些虚假的东西来通过一些愚蠢的质量过滤器,而这些过滤器并没有告诉我出了什么问题?最后没那么难,但也许这可以节省一些时间和挫折感 插入一个代理类“Product”,禁用构造函数(由于它是内部的,所以不能执行sizeof)和析构函数,最后添加影子方法: %rename(Product) product_struct; %nodefaultctor product_struct; %nodefau
为什么我必须编造一些虚假的东西来通过一些愚蠢的质量过滤器,而这些过滤器并没有告诉我出了什么问题?最后没那么难,但也许这可以节省一些时间和挫折感 插入一个代理类“Product”,禁用构造函数(由于它是内部的,所以不能执行sizeof)和析构函数,最后添加影子方法:
%rename(Product) product_struct;
%nodefaultctor product_struct;
%nodefaultdtor product_struct;
struct product_struct
{
%shadow
%{
def __enter__(self):
return self
def __exit__(self, t, v, t2):
library.close(self)
%}
};