После тестирования некоторое время с платформой 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 возможным?
Это действительно работает для меня на Linux как на Python 2, так и на 3. Однако моя установка python была скомпилирована с поддержкой readline, что требуется для того, чтобы она была автоматической согласно документации cmd. Я подозреваю, что ваш Linux Python 3 не был скомпилирован с этой поддержкой.
К сожалению, readline специфичен для Unix. Обсуждение других возможностей в Windows см. в python tab completion in windows.