Заполнение клавишей Tab с Cmd.cmd Python

После тестирования некоторое время с платформой Cmd.cmd в Python, я заметил проблему, которую я не знаю, что сделать о. Плюс я верю, чтобы иметь эту работу за несколько часов до этого (или я являюсь просто сумасшедшим), таким образом, это еще более странно.

У меня есть следующий пример кода, протестированный и в Windows и в системах Linux (таким образом, это не проблема Windows), но заполнение клавишей Tab просто не работает.

Если я использую тот же самый код в Python 2, он действительно работает над системой Linux (не на той Windows хотя)

import cmd
class Shell ( cmd.Cmd ):    
    def do_test ( self, params ):
        print( 'test: ' + params )

    def do_exit ( self, params ):
        return True

    def do_quit ( self, params ):
        return True

if __name__ == '__main__':
    x = Shell()
    x.cmdloop()

Вы знаете, почему это происходит, или что я могу сделать, для создания заполнения клавишей Tab возможным?

6
задан poke 21 December 2009 в 23:15
поделиться

1 ответ

Это действительно работает для меня на Linux как на Python 2, так и на 3. Однако моя установка python была скомпилирована с поддержкой readline, что требуется для того, чтобы она была автоматической согласно документации cmd. Я подозреваю, что ваш Linux Python 3 не был скомпилирован с этой поддержкой.

К сожалению, readline специфичен для Unix. Обсуждение других возможностей в Windows см. в python tab completion in windows.

5
ответ дан 10 December 2019 в 02:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: