我目前正在用pyCLIPS用python编写一个程序。在
clips模块允许我通过以下方式将多行输出打印到终端:clips.PrintFacts()
但是,我想把这个输出到一个文件来保存结果。我使用以下代码:
def Print():
f1=open('/var/log/combined/test.log', 'a')
print >>f1, '- Facts -\n'
print >>f1, clips.PrintFacts()
print >>f1, '\n- Rules -\n'
print >>f1, clips.Print.Rules()
第一个和第三个打印命令成功地将字符串打印到文件中,但是第二个和第四个打印命令仍然只将剪辑结果输出到终端。以下是输出示例:
==========
^{pr2}$==========
clips.PrintFacts()
部分从“f-0”开始,而clips.PrintRules()
从“MAIN”开始。在
提前谢谢!在
使用
a
附加到文件:您正在使用
w
重写每一行。在(这个回答很自然,我不知道是不是真的,我只是有个想法。)
我想它会写每一行,然后在上面再写一行。您应该将所有内容保存为字符串(string=string+clips.printFacts()),然后将其保存到文件中。在
相关问题 更多 >
编程相关推荐