> либу telnetlib. Правда это врядли имеет сильно большое значение.
Если в целях самообразования, то имеет. Если бы вы делали на сокетах -- это
было бы действительно "для целей самообразования".
> проверять на то, не является ли
> первый символ восклицательным знаком и если является, то передавать
> управление куда нужно?
А есть другие варианты? Менее сложные и более производительные?
Если есть, то используйте их.
>Мы просто пробегаемся по списку системных команд, пока не будет
> найдено совпадение с тем, что ввел пользователь, верно?
Не верно. См. алгоритмы поиска -- есть более производительные варианты, чем
простой перебор.
А если вы используете python, то встроенные объекты языка сами выполняют
сортировку и поиск оптимальным образом.
> 3. После системной команды в рамках клиента, мы передаем какие-то
> аргументы. Нам для этого нужно садиться и писать свой красивый парсер
Если python, то это split() -- вот и весь парсер.>
> У меня дикое ощущение, что это все как-то долго
> работает и очень сильно велосипедно. Или это мое ощущение от
> неопытности? ).
Это дико велосипедно, потому что это курсовая работа. А темы курсовых
специально выбираются так, чтобы человек в ходе выполнения прощупал базовые
темы (например, обработка строк, сетевые протоколы, поиск и сортировка и
т.п.).