使用python在命令行上键入时完成

使用python在命令行上键入时完成,python,shell,command-line,readline,Python,Shell,Command Line,Readline,我想用python编写一个小型应用程序/目录/文件启动器。 为了加快速度,我想自动完成/自动建议条目。但我想展示一下 这些建议取决于用户类型。从我所读到的关于readline模块完成的内容来看 只能使用“完成热键”,例如Tab 有什么建议吗 按照下面的建议使用带有过滤器的诅咒似乎不起作用。尽管调用了filter(),但这个最小的示例清除了我的屏幕: 我会尝试使用“诅咒”库: 您的相关主题位于: 我想诅咒会起作用,但是它似乎会清除屏幕,这会导致与shell@joekr你是对的,有人要求解决同一个

我想用python编写一个小型应用程序/目录/文件启动器。 为了加快速度,我想自动完成/自动建议条目。但我想展示一下 这些建议取决于用户类型。从我所读到的关于readline模块完成的内容来看 只能使用“完成热键”,例如Tab

有什么建议吗

按照下面的建议使用带有过滤器的诅咒似乎不起作用。尽管调用了filter(),但这个最小的示例清除了我的屏幕:

我会尝试使用“诅咒”库:

您的相关主题位于:


我想诅咒会起作用,但是它似乎会清除屏幕,这会导致与shell@joekr你是对的,有人要求解决同一个问题(清除屏幕),并得到了一个使用C语言的诅咒解决方案,只是调用newterm而不是initscr。然而,我认为该解决方案不适用于这里,因为python诅咒库不提供“newterm”方法。@joekr我刚刚发现,您可以使用“filter”方法覆盖初始屏幕清除:
import curses

curses.filter()
win = curses.initscr()

curses.noecho()
curses.cbreak()


while 1:
  key = win.getkey()
  win.echochar(key)
  if key == "Q":
    break

curses.endwin()