[C++-sig] exporting a boost::python::dict containing a boost::python::list
Ralf Grosse-Kunstleve
rwgk at google.com
Fri Jul 20 17:19:59 CEST 2012
without having looked at your code ...
most likely this is a memory issue. run with valgrind (valgrind.org or man
valgrind) to pin-point the problem.
On Fri, Jul 20, 2012 at 7:55 AM, Ronny Herzog <herzog at mpi-cbg.de> wrote:
>
> Dear all,
>
> I want to export a boost::python::dict containing a boost::python::list.
> However, when I print this list in Python, I get an unlimited output of
> some strange numbers:
>
> namespace bp = boost::python;
>
> class readraw
> {
> ....
>
> bp::list mk_pyPeak_list()
> {
> bp::list py_peak_list;
> for (int i = 0; i < peak_number; i++)
> {
> py_peak_list.append(bp::make_**tuple(peak_list[0][i].mz,
> peak_list[0][i].intensity));
> }
> return py_peak_list;
> }
>
> bp::dict peak_list_info()
> {
> bp::dict info;
> //bp::object pn = peak_number;
> //info["peakNumber"] = peak_number;
> //std::cout << bp::extract<int>(mk_pyPeak_**
> list().attr("__len__")();
> bp::list l(mk_pyPeak_list());
> info["peakList"] = l;
>
> return info;
> }
> };
>
> BOOST_PYTHON_MODULE(readraw)
> {
> bp::class_<readraw>("readraw", bp::init<int>())
> .def("add_peak", &readraw::add_peak)
> .def("peak_list_info", &readraw::peak_list_info)
> .def("average_scans", &readraw::average_scans)
> ;
>
> In Python:
> >>> print rawfilereader.peak_list_info()
>
> Results in smth. like:
> ...
> (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.2774385622041925e+66
> ), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.2774385622041925e+
> 66), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.2774385622041925
> e+66), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.27743856220419
> 25e+66), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.277438562204
> 1925e+66), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.2774385622
> 041925e+66), (-431602080.0, -6.2774385622041925e+66), (-431602080.0,
> -6.27743856
> ...
>
> What am I doing wrong?
>
> Thanks for the help,
> Ronny
>
> ______________________________**_________________
> Cplusplus-sig mailing list
> Cplusplus-sig at python.org
> http://mail.python.org/**mailman/listinfo/cplusplus-sig<http://mail.python.org/mailman/listinfo/cplusplus-sig>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20120720/98e1f813/attachment.html>
More information about the Cplusplus-sig
mailing list