我有2个问题,都与Python和C++混合的参数有关…我有一个C++函数,我用Python调用,我的函数使用日期和字符串。在
是一个Python ^ {CD1>},与C++ +/P>相同
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >
其次,我的函数需要一个class boost::gregorian::date
类型的日期,有人知道我如何在python中给出一个日期,并用正确的签名读取?在
非常感谢帮助!我希望这是一个相当简单的问题,我只是对不同类型的签名经验不多(这对于我目前实验连接Python和C++来说并不好)。在
假设您使用的是
boost::python
,让我来告诉您如何在这些情况下继续。不是让boost::python
自动包装函数,而是提供自己的包装:当然,您需要提供一个将
boost::python::object
转换为boost::gregorian::date
对象的方法。你必须决定如何处理。例如,您可以假设参数是由三个整数组成的序列,或者您可以允许更复杂的方式传递参数,或者定义一个新类来包装gregorian日期及其所有方法并将其直接公开给Python。在{cds}第一次将字符串从cd1}自动转换为cd6}。在
PyString_FromStringAndSize( cppString.data(), cppString.size() )
,并传入结果 PyObject。如果你想调用一个任意函数,你必须 使用PyImport_Import
加载模块,然后PyObject_GetAttrString
获取函数(Python函数是属性,就像 所有其他内容),然后在之后使用PyObject_CallObject
来调用它 转换了所有参数并将它们放入一个元组中(全部通过 函数)。在相关问题 更多 >
编程相关推荐