如何在python readline中获取当前光标位置

2024-04-20 02:52:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个定制的python readline completer函数,在completer函数中我调用readline.get_line_buffer(),它为我提供当前文本输入,以便我可以以上下文敏感的方式完成当前单词

我现在缺少的是获取当前光标位置的可能性。例如,如果要完成可能的参数,则需要该位置来确定前面的命令

the python readline module documentation中,我还没有找到确定位置的方法,那么它是如何完成的呢


Tags: the函数文本命令参数readlinegetbuffer
1条回答
网友
1楼 · 发布于 2024-04-20 02:52:25

我下载了pyreadline source code并解决了这个问题。在Python 2.7上的pyreadline(readline的Windows端口)中可以执行以下操作:

from pyreadline import Readline
readline = Readline()
cursor = readline.mode.l_buffer.point

请注意,这在pyreadline(Windows)中有效,但在GNU readline中不起作用(根据下面Binabik的评论)

相关问题 更多 >