问题描述
我有用ncurses编写的Linux应用程序。我正在尝试使用pexpect将其自动化,但没有成功。
我可以生成应用程序并可以使用输出,但是我不能发送向下箭头键:
import pexpect
import time
import sys,os
os.environ['LINES'] = "25"
os.environ['COLUMNS'] = "80"
child=pexpect.spawn("my_ncurses_app",maxread=4000,encoding="utf-8")
child.logfile=sys.stdout
child.setwinsize(25,80)
KEY_DOWN = '\033[B'
#close button appears on screen,After that I want to press down key twice and enter
child.expect("Close")
#ncurses_app sees KEY_DOWN as 3 different keys \033,[,B
child.send(KEY_DOWN)
child.send(KEY_DOWN)
child.sendline()
#ncurses_app sees enter as Int(10)
它对其他CLI应用程序非常有效,但不适用于我的
。调试将显示3个不同的键,而不是1个向下箭头的符号应用程序。
如何发送KEY_DOWN作为一个符号?可能我应该使用其他而不是pexpect,因为smth与进程之间存在低级交互?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)