Python论坛  - 讨论区

标题:[python-chinese] 求助::关于boost.python的问

2007年01月23日 星期二 15:20

玄利磊 kency在zctt.com.cn
星期二 一月 23 15:20:52 HKT 2007

使用boost.python
怎么从C++程序中向python程序传递一个数组 并使用它
如:  
在C++中有数组 int a[10];
怎么在python中使用用这个数组

  谢谢!!!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年01月23日 星期二 15:49

IQDoctor huanghao.c在gmail.com
星期二 一月 23 15:49:28 HKT 2007

何必呢. boost 10 多M, 估计比你的程序都大吧.

还不如直接调 PY C API 又小又方便.

实例, std::vector convert to python dict:

    // 新建 python dict 对象
    PyObject* pPyOpFields = PyDict_New();

    // 填充 dict
    for (T_Params::const_iterator pos = oOperators.Params.begin(); pos 
!= oOperators.Params.end(); ++ pos) {
        PyDict_SetItemString(pPyOpFields, TO_CHAR(pos->first.c_str()), 
PyString_FromString(TO_CHAR(pos->second.c_str())));
    }
   
    // 调用 py 中的一个类中的方法"logger(dict)", 并返回结果
    // this->mpPyModClass 为我事先取到的 python class 类指针
    PyObject* pPyRet = PyObject_CallMethod(this->mpPyModClass, "logger", 
"O", pPyOpFields);
   
    ..........................

玄利磊 写道:
> 使用boost.python
> 怎么从C++程序中向python程序传递一个数组 并使用它
> 如:  
> 在C++中有数组 int a[10];
> 怎么在python中使用用这个数组
>
>   谢谢!!!
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年01月23日 星期二 15:51

IQDoctor huanghao.c在gmail.com
星期二 一月 23 15:51:59 HKT 2007

sry, 是转换 std::map 才对.


玄利磊 写道:
> 使用boost.python
> 怎么从C++程序中向python程序传递一个数组 并使用它
> 如:  
> 在C++中有数组 int a[10];
> 怎么在python中使用用这个数组
>
>   谢谢!!!
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2007年01月23日 星期二 19:34

刘鑫 march.liu在gmail.com
星期二 一月 23 19:34:46 HKT 2007

boostµÄ»°£¬boost::python::dict(map_object)ÕâÒ»¾ä¾Í¿ÉÒÔ¹¹ÔìÒ»¸ö×Öµä¶ÔÏóÁË¡£map_objectÊÇÒ»¸östd::dict¶ÔÏó¡£
Boost::PythonÆäʵÊÇ¿ÉÒÔ¾²Ì¬±àÒëµÄ£¬µ«ÊÇȷʵÓеã´ó¡£Èç¹û´óÐÍÏîÄ¿»¹ÊÇÖµµÃµÄ¡£

2007/1/23, IQDoctor <huanghao.c在gmail.com>:
>
> sry, ÊÇת»» std::map ²Å¶Ô.
>
>
> ÐþÀûÀÚ Ð´µÀ:
> > ʹÓÃboost.python
> > Ôõô´ÓC++³ÌÐòÖÐÏòpython³ÌÐò´«µÝÒ»¸öÊý×é ²¢Ê¹ÓÃËü
> > Èç:
> > ÔÚC++ÖÐÓÐÊý×é int a[10];
> > ÔõôÔÚpythonÖÐʹÓÃÓÃÕâ¸öÊý×é
> >
> >   лл!!!
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese在lists.python.cn
> > Subscribe: send subscribe to python-chinese-request在lists.python.cn
> > Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Blog°á¼ÒÁË

ÁõöÎ
March.Liu
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070123/eafd8ccf/attachment.html 

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号