第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法清除 python3.X 中的 pexpect 緩沖區(qū)

無法清除 python3.X 中的 pexpect 緩沖區(qū)

一只甜甜圈 2022-07-19 15:40:23
我正在使用 Pexpect 模塊連接到遠程服務器。我可以成功發(fā)送和檢索響應。我試圖通過期待一些垃圾來清除緩沖區(qū),并假設(shè)它會清除緩沖區(qū),但實際上它并沒有清除緩沖區(qū)。下面是我的示例代碼import pexpectobj = 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 notexcept pexpect.TIMEOUT:    passprint("buffer is", obj.buffer) . --> This is printing output `OUTPUT 1` as I have meniotned我在這里做錯了什么??我正在使用 python3.7 。如果我沒記錯的話它在 python2.X 中正常工作
查看完整描述

2 回答

?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

您可以通過顯式讀取 IIRC 來清除 pexpects 緩沖區(qū)。


flush = ''

while not obj.expect(r'.+', timeout=5):

    flush += obj.match.group(0)


查看完整回答
反對 回復 2022-07-19
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

".+" 試圖從緩沖區(qū)中獲取一個或多個字節(jié),因此如果有什么東西就清理掉所有東西。

我們運行 while 循環(huán)來讀取,直到什么都沒有。

由于超時為零,如果沒有任何內(nèi)容,它會立即返回,但會引發(fā)異常,這是循環(huán)終止的地方。

try:

    while True:

        session.expect(r'.+', timeout=0)

except (pexpect.TIMEOUT, pexpect.EOF) as e:

    pass


查看完整回答
反對 回復 2022-07-19
  • 2 回答
  • 0 關(guān)注
  • 91 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號