IPC

Yannick Turgeon nobody at nowhere.com
Tue Jul 27 20:20:19 CEST 2004


Larry,

As I said, I use FTP only to test the IPC and give here a known example.
It's in fact with a custom program that I have to communicate.

Any help in this regard?

Yannick

"Larry Bates" <lbates at swamisoft.com> wrote in message
news:e9OdnbY0ddteC5vcRVn-sw at comcast.com...
> Python has built in support for ftp (see ftplib)
> use it instead of trying to "communicate" with
> external FTP program.
>
> http://www.python.org/doc/current/lib/module-ftplib.html
>
> You can catch any exceptions (like failure to connect)
> by using python try:/except: blocks.
>
> HTH,
> Larry Bates
> Syscon, Inc.
>
> "Yannick Turgeon" <nobody at nowhere.com> wrote in message
> news:Z6wNc.21572$i_2.899460 at news20.bellglobal.com...
> > Hi,
> >
> > I'm relatively new to Python. I'm using 2.3.4 on W2K.
> >
> > What I want to do is to start a program and interact with it. Say my
> program
> > is FTP, I want to start FTP then send the commande "open x.x.x.x" then
> look
> > for the answer (if the connection is opened or not), then do something
> > dependant of the success or error.
> >
> > I tried with popen3. The problem I got with this: it seems that I have
to
> > end the program before being able to read the output. Or maybe I'm not
> using
> > it correctly. I do test the communication with FTP exec. but it will be
a
> > custom program in real. Here is my code:
> >
> >
> >     def test(self):
> >         cmd = "ftp"
> >         r, w, e = popen2.popen3(cmd)
> >
> >         cmd = "?\n"            # A simple FTP commande
> >         w.write(cmd)
> >         w.flush()
> >
> >         # That is what I would like but it's hanging here. I have to
> remove
> > this group and read at the end.
> >         for line in e.readlines():
> >             # Do something conditionnal to the result of "line"
> >             pass
> >         for line in r.readlines():
> >             # Do something conditionnal to the result of "line"
> >             pass
> >
> >
> >         cmd = "quit\n"
> >         w.write(cmd)
> >         w.flush()
> >
> >         for line in e.readlines():
> >             print line
> >         for line in r.readlines():
> >             print line
> >
> >         w.close()
> >         r.close()
> >         e.close()
> > ----------------------
> >
> > Anybody can help? Thanks for your time.
> >
> > Yannick
> >
> >
>
>





More information about the Python-list mailing list