Tidak dapat menghapus buffer pexpect di python3.X

9

Saya menggunakan modul Pexpect untuk terhubung ke server jauh. Saya berhasil mengirim dan mengambil respons. Saya mencoba untuk menghapus buffer dengan mengharapkan sesuatu sampah dan menganggapnya akan menghapus buffer tetapi sebenarnya itu tidak membersihkan buffer.

Di bawah ini adalah kode sampel saya

import pexpect
obj = pexpect.spawn("telnet 172.16.250.250", maxread=8192)

obj.sendline("")
result = obj.expect(expected, timeout=3) --> getting output here `OUTPUT 1`
obj.sendline("1")
time.sleep(3)
try:
    obj.expect("Asdfgdsad", timeout=2)  --> I am expecting to clear buffer here but it did not

except pexpect.TIMEOUT:
    pass
print("buffer is", obj.buffer) . --> This is printing output `OUTPUT 1` as I have meniotned

Saya melakukan sesuatu yang salah di sini ?? Saya menggunakan python3.7. Jika saya ingat benar Itu berfungsi dengan benar di python2.X

Nitesh
sumber

Jawaban:

3

Anda dapat menghapus buffer pexpects dengan membacanya secara eksplisit, IIRC.

flush = ''
while not obj.expect(r'.+', timeout=5):
    flush += obj.match.group(0)
Aiyion. Damai
sumber