gpt4 book ai didi

python - 无法清除 python3.X 中的 pexpect 缓冲区

转载 作者:行者123 更新时间:2023-12-03 16:23:30 26 4
gpt4 key购买 nike

我正在使用 Pexpect 模块连接到远程服务器。我可以成功发送和检索响应。我试图通过期待一些垃圾来清除缓冲区,并假设它会清除缓冲区,但实际上它并没有清除缓冲区。

下面是我的示例代码

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

我在这里做错了什么??我正在使用 python3.7 。如果我没记错的话它在 python2.X 中正常工作

最佳答案

您可以通过显式读取 IIRC 来清除 pexpects 缓冲区。

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

关于python - 无法清除 python3.X 中的 pexpect 缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60053281/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com