Line-by-line processing when stdin is not a tty
rNOSPAMon at flownet.com
Wed Aug 11 22:20:59 CEST 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.
More information about the Python-list