我正在使用pexpect(pexpect-2.3-6.el6.noarch)试图通过pexpect.before获得一些输出。但是,我在一开始就得到了奇怪的角色:
获取
ESC [?1lcurrentZone = green
我需要得到的是:
获取 currentZone =绿色
我也在使用setecho(False / True),但这根本没用。
我在互联网上搜索一些提示,但找不到任何对我有用的东西。
以下是我的代码示例 - 我通过pexpect与之交互的交互式程序是调用bwcli。在它内部有一个树状的结构,有各种分支,并有可能通过一种“cd”来遍历它。命令。
f = open(" new_ns_results.txt"," w")
child = pexpect.spawn(' bwcli',timeout = 300,maxread = 10000)
child.setecho(假)
child.expect(' NS_CLI>')
child.sendline(' config set yesNoPromptEnabled false')
child.expect(' NS_CLI>')
child.sendline(' config set continuePromptEnabled false')
child.expect(' NS_CLI>')
child.sendline(' config set scriptEchoingEnabled false')
child.expect(' NS_CLI>')
child.sendline('登录管理员')
child.expect('密码:')
child.sendline(' some_password&#39)
child.expect(' NS_CLI>')
打印("现在让我们开始工作......")
child.sendline(' cd / NSDiagnostic / OverloadControls / CallpUtil')
child.expect(' NS_CLI / NSDiagnostic / OverloadControls / CallpUtil>')
child.sendline('获得&#39)
child.expect(' NS_CLI / NSDiagnostic / OverloadControls / CallpUtil>')
f.write("%s"%str(child.before))
child.setecho(真)
提前感谢您的时间。我真的很感激。