clipspy подвеска для pyclips clips.ErrorStream.Read ()

1

Можно ли прочитать ErrorStream из клипов с помощью clipspy? С помощью pyclips он работал следующим образом: clips.ErrorStream.Read().

Имеет ли смысл делать это с помощью clipspy, или все ошибки выбрасываются как исключения и могут быть захвачены с помощью clips.CLIPSError?

Теги:
clips
clipspy

1 ответ

1
Лучший ответ

Когда clipspy обнаруживает ошибку, он вызывает исключение CLIPSError встраивающее вывод werror как сообщения. Поэтому вы можете в основном полагаться на это.

Тем не менее, поскольку API CLIPS C не совсем согласован, вы можете найти некоторый угловой случай. Чаще всего исключение CLIPSError может не содержать сообщения об ошибке, так как CLIPS не всегда печатает сообщение в случае ошибки.

Если вы хотите прочитать вывод CLIPS, вы можете сделать это, используя средства маршрутизации, которые описаны в Advanced Programming Guide CLIPS. API-интерфейсы clippy router очень близки к C.

Вы также можете использовать LoggingRouter для управления выходом CLIPS с протоколом Python. Это удобно, если вы хотите интегрировать CLIPS в службу python.

import clips
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s')

env = clips.Environment()
router = clips.LoggingRouter()

router.add_to_environment(env)

env.eval('(printout t "Hello World!" crlf)')

Выход

2018-10-16 17:29:01,829 - INFO - Hello World!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню