0
我要检查是否使用升压Python库Python中存在传递的对象类型:Python类型存在
// bp = boost::python
bool TypeExists(const std::string &typeName)
{
bp::object ret = bp::exec(
(boost::format("'%1%' in globals()") % typeName).str().c_str()
);
return bp::extract<bool>(ret);
}
所以,在这段代码我运行python表达它看起来像:'TypeName' in globals()
。这应该返回布尔类型的对象。但提取物总是返回0类型100%存在,因为在后TypeExists
呼叫下一行我创建这种类型的对象。怎么了?
也许你知道,'eval'它返回'global'不存在的错误。什么可能是错的? – Ockonal 2012-08-10 10:25:31
好的,谢谢。我只需要作为第二个参数传递我的全局命名空间。 – Ockonal 2012-08-10 10:27:44