2024-06-28 18:53:56 发布
网友
我使用python和Clips来解决一个问题,下面是我要做的:
我希望从python加载一个.clp文件并运行它。我还需要根据数据库添加事实。所以.clp文件中会有规则,我正在使用
clips.Load("myfile.clp")
加载我的文件。我被困在如何在片段中断言事实。我也有一个可变的结局剪辑,将存储什么,它出来的基础上的事实。我需要把它带回python来运行其他代码。在
谢谢
我想你用的是PyCLIPS。在
import clips def clips_callable(f): def wf(*args, **kwargs): if f(*args, **kwargs): return clips.Symbol("TRUE") else: return clips.Symbol("FALSE") clips.RegisterPythonFunction(wf, f.__name__) @clips_callable def pyprint(s): print s print "".join(map(str, s)) clips.Load("test.clp") clips.Reset() clips.Run() # assert a fact. a = clips.Assert("(order (part-id p1) (quantity 20))") clips.Run()
test.clp看起来像:
test.clp
我还附带了@clips_callable装饰器,这使得从clips调用python函数变得非常容易。在
@clips_callable
我想你用的是PyCLIPS。在
^{pr2}$test.clp
看起来像:我还附带了
@clips_callable
装饰器,这使得从clips调用python函数变得非常容易。在相关问题 更多 >
编程相关推荐