Re: parsing a tuple in embedded python
- From: jenkins.justin@xxxxxxxxx
- Date: 30 Oct 2005 15:28:25 -0800
Thanks Fredrik. Yes, I see now how the function works. I'm new to
Python and the book I'm studying out of wasn't too explicit in how to
handle arrays. I've changed the code to what you suggested, but
strangely enough nothing got read into my array. If I return a single
integer from my Python method, I get the expected return using:
PyArg_Parse(return, "i", &integer);
But,
PyArg_Parse(return, "(iii)", array, array+1, array+2)
and
PyArg_Parse(return, "(iii)", &array[0], &array[1], &array[2])
does not alter "array" at all. Any ideas? Thanks
Fredrik Lundh wrote:
> jenkins.justin@xxxxxxxxx wrote:
>
> > I am returning a tuple from my python method and am stuck trying to
> > figure out how to read it into a C array using PyArg_Parse.
> > My C Code:
> > int array[3];
> > PyArg_Parse(return, "(iii)", &array);
> >
> > My Python Code:
> > mytuple = (1,2,3)
> > return mytuple
> >
> > That gives me a segmentation fault. What am I doing wrong?
>
> you're not providing enough arguments; "iii" means three pointers, not
> one. try:
>
> PyArg_Parse(return, "(iii)", array, array+1, array+2)
>
> instead. or, if you prefer maximum clarity:
>
> PyArg_Parse(return, "(iii)", &array[0], &array[1], &array[2])
>
> (I assume you left out the error handling code; ignoring the return value
> from PyArg_Parse is not a good idea)
>
> </F>
.
- References:
- parsing a tuple in embedded python
- From: jenkins . justin
- Re: parsing a tuple in embedded python
- From: Fredrik Lundh
- parsing a tuple in embedded python
- Prev by Date: Re: Pickling and unpickling inherited attributes
- Next by Date: Re: Controlling output using print with format string
- Previous by thread: Re: parsing a tuple in embedded python
- Next by thread: Need Python Pro for Help!! Plzz
- Index(es):
Relevant Pages
|