Python : 从标准输入读取时的 vi 模式

Python : vi mode when reading from stdin

当我 运行 一个使用 somevar = sys.stdin.readline() 的程序时,我无法在向标准输入输入文本时使用我的 vi 命令(我的 .bashrc 中有 set -o vi)。在 python 脚本中从 stdin 读取时,有没有办法启用此功能?我正在使用 python2.7.

如果您安装了 readline 模块,请尝试一下。这是我从 page:

复制的代码片段
import readline

readline.parse_and_bind('tab: complete')
readline.parse_and_bind('set editing-mode vi')

while True:
    line = raw_input('Prompt ("stop" to quit): ')
    if line == 'stop':
        break
    print 'ENTERED: "%s"' % line