在python2.7.3中将多行输出到文件

2024-06-16 12:57:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在用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”开始。在

提前谢谢!在


Tags: 模块文件代码命令程序log终端方式
2条回答

使用a附加到文件:

f1 = open('/var/log/combined/test.log', 'a+')
print >>f1, clips.PrintFacts()

您正在使用w重写每一行。在

(这个回答很自然,我不知道是不是真的,我只是有个想法。)

我想它会写每一行,然后在上面再写一行。您应该将所有内容保存为字符串(string=string+clips.printFacts()),然后将其保存到文件中。在

相关问题 更多 >