Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.235.226.14] |
|
Сообщ.
#1
,
|
|
|
Добрый день
Я недавно начал изучать Питон и не все понимаю. Для себя пишу телеграмм-бота, жду от пользователя ввода. Нужно разобрать ввод на лексемы, понять что нужно и куда отправить и пр. Короче - сделать простой интерпретатор. Нашел модуль argparse, но он для командной строки. Есть возможность его функционал натравить на пользовательский ввод (по сути, одну строку, которую я получаю от сервера) и произвести всю работу в нем? Если нет, то посоветуйте, пожалуйста, как можно попроще реализовать разбор пользовательского ввода. Спасибо |
Сообщ.
#2
,
|
|
|
Регулярные выражения вам не помогут (модуль `re`)?
|
Сообщ.
#3
,
|
|
|
По идее, используемая для описания грамматик языков программирования форма Бэкуса - Наура (и её разновидности) изначально предназначалась для описания грамматик как раз естественных языков. Так что можно воспользоваться наработками для синтаксических анализаторов.
Для языка Python есть библиотека PyParsing. Установить можно командой: pip install pyparsing. pip находится в папке Python##\Scripts. Или закачать с PyPI (Python Package Index) и установить с диска. Хотя грамматика естественного языка конечно будет посложнее чем у ЯП. Но не настолько, чтобы сделать работу невыполнимой. Набить в неё слова будет на порядок дольше. Регулярками хорошо ключевые фразы из потока вылавливать. Для более сложных случаев они быстро тяжелеют. |
Сообщ.
#4
,
|
|
|
Опять издеваетесь над новичком?
Emerald, приведи примеры того, что ты хочешь разбирать. |