gpt4 book ai didi

python - 如何接受箭头键输入或接受方向输入?

转载 作者:太空狗 更新时间:2023-10-30 00:25:11 25 4
gpt4 key购买 nike

这可能是一个 xy 问题,但我正在尝试构建一个基于内核的文本编辑器,类似于 vimnano,我知道如何使用转义字符清除屏幕,然后重新打印,我可以让它接受字符,但我不确定如何让它接受导航箭头输入。我以为它们有 ASCII 值,但显然没有。有没有办法使用箭头,或者我是否必须像 vim 那样制作导航模式和插入模式?

我也曾短暂地玩过 curses,但那是令人望而却步的,因为据我所知,必须为它打开一个全新的窗口,这与单一的愿景不兼容我拥有的终端窗口。

请注意 curses 不起作用,因为它会清除窗口,这是我不想要的。

最佳答案

curses 正是您想要的。事实上,我相信 vim 使用 curses 实现了它的接口(interface)。

尝试将以下代码放入名为 test_curses.py 的文件中:

import curses

screen = curses.initscr()
screen.addstr("Hello World!!!")
screen.refresh()
screen.getch()
curses.endwin()

现在打开一个终端(不是 IDLE!一个真正的终端!)并通过以下方式运行它:

python test_curses.py

您应该会看到终端 已清除,并且出现了Hello World!!! 字样。按任意键,程序将停止,恢复旧的终端内容。

请注意,curses 库并不像您所习惯的那样简单和“用户友好”。我建议阅读 tutorial (不幸的是C语言,但python接口(interface)大部分是一样的)

关于python - 如何接受箭头键输入或接受方向输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753160/

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