On Dec 13, 10:09 pm, MRAB <goo...@mrabarnett.plus.com> wrote: > Aaron Brady wrote: > > On Dec 13, 7:51 pm, Grant Edwards <gra...@visi.com> wrote: > >> On 2008-12-14, MRAB <goo...@mrabarnett.plus.com> wrote: > > >>>> I am writing a C process and I want to read data from a file that I > >>>> write to in Python. I'm creating a pipe in Python, passing it to the > >>>> C process, and calling '_read'. It gives me error 9, bad file number. > > snip > >>>> meaning that 'ct' is -1, 'readfd' is 3, and 'errno' is 9. I want 'ct' > >>>> to be 11 at this point. Thanks in advance. > >>> It looks like the ids aren't system global. > >> They certainly aren't in Unix: Their a property of the process. > > >> -- > >> Grant > > > I'm not on Unix. It has to be possible somehow. Do I need to set > > permissions on the IDs? Are Stdin and Stdout my only options? Or > > does Popen prevent sharing IDs somehow? > > You'd be better off using sockets.
You might also consider using SIMPL (http://www.icanprogram.com/simpl) SIMPL has had a Python interface for about 5 years now. There is an online tutorial here. (http://www.icanprogram.com/06py/main.html) In one of your responses you mentioned that you were not on Unix (and I presume Linux). SIMPL-Python has recently been extended to work transparently from a Windows OS as well. bob SIMPL project coordinator -- http://mail.python.org/mailman/listinfo/python-list