0

python prompt_toolkit下的提示函数可以与出现在提示符处的默认字符串一起使用,就好像用户输入了它一样。

defaultWord = u"cat"
prompt( u"Enter a word", completer=SomeCompleter, default=defaultWord)

我发现即使default设置完成菜单也不会像用户实际键入它一样打开。你必须至少按下一个键才能让它这样做。

有没有办法在用户按键之前强制显示完成菜单?

4

1 回答 1

2

如果您使用的是 a PromptSession,则可以将pre_run参数用于PromptSession.prompt

from prompt_toolkit import PromptSession
from prompt_toolkit.completion import WordCompleter
completer = WordCompleter([u"Hello", u"World"])
session = PromptSession(u"> ", completer=completer)
session.prompt(pre_run=session.default_buffer.start_completion)
于 2019-07-03T15:51:14.797 回答