Problem with PEXPECT in Python

Kevin Erickson kevin.erickson at gmail.com
Sat Jun 30 20:50:15 EDT 2007


Hello,

I am attempting to use pexpect in python to copy files from a server
using scp; the copy works however exceptions are thrown and it exits
unsuccessfully.  Below is the a sample code and the error:

#Begin Code

import sys
import pexpect

def GetServerData(self):
            foo = pexpect.spawn('scp user at server.com:/home/config/
role{/file1,/files/file2,/files/file3} /tmp')
            foo.expect('.*password:*')
            foo.sendline('server_password')
            foo.interact()

#End Code

#Begin Output

file1                                   100%   10KB  10.0KB/s
00:01
file2                                   100%  946     0.9KB/s
00:00
file3                                   100% 1655     1.6KB/s
00:00
Traceback (most recent call last):
  File "mygui.py", line 6, in ?
    f = Form1()
  File "/home/Kevin/form1.py", line 41, in __init__
    self.GetServerData()
  File "/home/Kevin/form1.py", line 84, in GetServerData
    foo.interact()
  File "/usr/lib/python2.4/site-packages/pexpect.py", line 1062, in
interact
    selfw.__interact_copy(escape_character)
  File "/usr/lib/python2.4/site-packages/pexpect.py", line 1086, in
__interact_copy
    data = self.__interact_read(self.child_fd)
  File "/usr/lib/python2.4/site-packages/pexpect.py", line 1075, in
__interact_read
    return os.read(fd, 1000)
OSError: [Errno 5] Input/output error

#End Output

The problem seems to be with the call foo.interact(); does anyone know
how to fix this?  Any help will be much appreciated.




More information about the Python-list mailing list