具有nano等接口的Python终端应用程序

时间:2014-02-19 13:20:49

标签: python-2.7 terminal

这可能是一个愚蠢的问题,但我不确定如何用谷歌友好的方式来表达它......

如果您键入以下内容,请在终端中输入:

nano some_file

然后nano在终端内打开一个编辑窗口。基于文本的应用程序。 Ctrl + X再次将其关闭,您可以看到终端。

这是另一个例子:

man ls

如何在python中创建基于文本的终端应用程序?

我希望这个问题有道理,如果你需要更多澄清,请告诉我......

2 个答案:

答案 0 :(得分:2)

您可能需要使用替代屏幕缓冲区。要启用它,只需打印'\ 0033 [?1049h'并禁用'\ 0033 [?1049l'(终端控制转义序列))。 http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#The%20Alternate%20Screen%20Buffer

示例:

print('\033[?1049h', end='')
print('Alternative screen buffer')
s = input()
print('\033[?1049l', end='')
print('Normal mode')
print(s)     `

答案 1 :(得分:0)

这就是诀窍:

http://docs.python.org/2/howto/curses.html

示例:

import curses
oScreen = curses.initscr()
curses.noecho()
curses.curs_set(0)
oScreen.keypad(1)
oScreen.addstr("Woooooooooooooo\n\n",curses.A_BOLD)
while True:
    oEvent = oScreen.getch()
    if oEvent == ord("q"):
        break
curses.endwin()