我向用户询问一串cypher并使用readline标签自动完成来提供选项,但是想要使用几个不同的选项列表,具体取决于它的cypher语句位。
简化的密码字符串如下所示:
(node_name:LABEL1:LABEL2 {key1: value1, key2: value2})
我想要的是有一个标签的完成列表,以及每个不同属性键的值列表字典,例如:
{key1: [option1, option2, option3], key2: [foo, bar, baz]}
是否有办法让换行符(或其他类似的库)知道它在cypher字符串中的位置,以便它只在标签列表中显示标签列表中的选项,并且只显示相应键列表中的选项用户正在编写属性。
编辑: This页面提供了使用带有readline的常规语法的示例。它似乎回答了我的问题所以我正在回答这个问题。
答案 0 :(得分:2)
查看python标准库中的rlcompleter
模块。我最近自己使用过这种技术。请参阅(示例):https://bitbucket.org/prologic/mio-lang/src/tip/mio/state.py#cl-30
答案 1 :(得分:0)
This页面解释了使用带有readline的常规语法。