复制Python对象类型,如PyInstance和PyFunction
我对Python C API的世界还不熟悉 我一直停留在涉及实例和函数对象类型的特定场景中。 我需要深度复制实例和函数对象类型 这里,pcoOriginalValue是PyObject*类型复制Python对象类型,如PyInstance和PyFunction,python,c++,visual-c++,Python,C++,Visual C++,我对Python C API的世界还不熟悉 我一直停留在涉及实例和函数对象类型的特定场景中。 我需要深度复制实例和函数对象类型 这里,pcoOriginalValue是PyObject*类型 PyObject* pcoInstanceCopy; if( true == PyInstance_Check(pcoOriginalValue)) { //I need to deep copy the contents of pcoOriginalValue to pcoInstanceCopy h
PyObject* pcoInstanceCopy;
if( true == PyInstance_Check(pcoOriginalValue))
{
//I need to deep copy the contents of pcoOriginalValue to pcoInstanceCopy here.
}
同样的道理
PyObject* pcoFunctionCopy;
if( true == PyFunction_Check(pcoOriginalValue))
{
//I need to deep copy the contents of pcoOriginalValue to pcoFunctionCopy here.
}
任何参考资料或指针都会很好
谢谢虽然您可以随时从C代码调用标准库函数,但您似乎希望自己实现实际的深度复制
我的评论很快(也很糟糕),您首先了解如何在纯Python中实现这一点,然后将代码转换为CPython C API调用。您可以使用作为起点。使用copy.deepcopy。可能与@vz0重复,我使用的是Python C API。这在简单的python中是可能的。是的,我的意思是,您可以从C API模拟对“import-copy;copy.deepcopy”的调用。除非你想自己实现真正的深度复制。是的,我想自己实现深度复制。