Line-by-line processing when stdin is not a tty

RG rNOSPAMon at flownet.com
Wed Aug 11 16:20:59 EDT 2010


In article <i3uu74$uga$1 at speranza.aioe.org>,
 Tim Harig <usernet at ilthio.net> wrote:

> On 2010-08-11, RG <rNOSPAMon at flownet.com> wrote:
> > In article <i3uo7t$6mk$1 at speranza.aioe.org>,
> >  Tim Harig <usernet at ilthio.net> wrote:
> >
> >> On 2010-08-11, RG <rNOSPAMon at flownet.com> wrote:
> >> > I'm writing a system in a different language but want to use a Python 
> >> > library.  I know of lots of ways to do this (embed a Python interpreter, 
> >> > fire up a python server) but by far the easiest to implement is to have 
> >> > the main program spawn a Python interpreter and interact with it through 
> >> > its stdin/stdout.
> >> 
> >> Or, open python using a socket.
> >
> > You mean a TCP/IP socket?  Or a unix domain socket?  The former has 
> > security issues, and the latter seems like a lot of work.  Or is there 
> > an easy way to do it that I don't know about?
> 
> I was referring to unix domain sockets or more specifically stream
> pipes. I guess it depends what language you are using and what libraries
> you have access to.  Under C, working with stream pipes is no more trivial
> then using pipe().  You can simply create the socket descriptors using
> socketpair().  Keep one of the descriptors for your process and pass the
> other to the python child process as both stdin and stdout.

Ah.  That is in fact exactly what I am doing, and that is how I first 
encountered this problem.

rg



More information about the Python-list mailing list