Greetings, I have the following code:
import pexpect child = pexpect.spawn('/bin/bash') i = child.expect_exact('bash-3.2$ ') child.sendline("rpm -q --queryformat '%{VERSION}\\n' glibc") i = child.expect (['2', '2.5', '2.52.5', pexpect.TIMEOUT]) print child.before print '---' print child.after if i == 0: print 'We got 2' elif i == 1: print 'We got 2.5' elif i == 2: print ' We got 7' elif i == 3: print 'Timed Out!' else: print 'What happened?' The output of the commandline is: % rpm -q --queryformat '%{VERSION}\n' glibc 2.5 2.5 I've tried to use "\b", "^", "$" around the return stings and even expect_exact, but end up with it printing "We got 2". It's just mathcing the first character and not the entire string. rpm -q --queryformat '%{VERSION}\n' glibc --- 2 We got 2 What am I doing wrong here? What do I need to tell the expect line to grab the entire line back to check against? Thanks Tom -- https://mail.python.org/mailman/listinfo/python-list