IPC

Larry Bates lbates at swamisoft.com
Tue Jul 27 13:54:15 EDT 2004


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