На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
15 мая "Исходники.РУ" отмечают 20-летие присутствия в сети!
Поздравляем всех причастных и неравнодушных с юбилеем сайта!
И огромное спасибо всем, кто был с нами все эти годы!
msm.ru
Модераторы: RaD
  
    > Библиотека разбора пользовательского ввода
      Добрый день
      Я недавно начал изучать Питон и не все понимаю.

      Для себя пишу телеграмм-бота, жду от пользователя ввода. Нужно разобрать ввод на лексемы, понять что нужно и куда отправить и пр. Короче - сделать простой интерпретатор.
      Нашел модуль argparse, но он для командной строки. Есть возможность его функционал натравить на пользовательский ввод (по сути, одну строку, которую я получаю от сервера) и произвести всю работу в нем?
      Если нет, то посоветуйте, пожалуйста, как можно попроще реализовать разбор пользовательского ввода.

      Спасибо
      Если отладка - устранение ошибок, то программирование - их создание.
        Регулярные выражения вам не помогут (модуль `re`)?
          По идее, используемая для описания грамматик языков программирования форма Бэкуса - Наура (и её разновидности) изначально предназначалась для описания грамматик как раз естественных языков. Так что можно воспользоваться наработками для синтаксических анализаторов.
          Для языка Python есть библиотека PyParsing. Установить можно командой: pip install pyparsing. pip находится в папке Python##\Scripts. Или закачать с PyPI (Python Package Index) и установить с диска.
          Хотя грамматика естественного языка конечно будет посложнее чем у ЯП. Но не настолько, чтобы сделать работу невыполнимой. Набить в неё слова будет на порядок дольше.

          Регулярками хорошо ключевые фразы из потока вылавливать. Для более сложных случаев они быстро тяжелеют.
          Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
          1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script Execution time: 0,0588 ]   [ 14 queries used ]   [ Generated: 28.05.20, 16:00 GMT ]