我想将从下面的函数生成的实时值写入文本文件。我怎样才能做到这一点?
def run(readable_results, data, rawbuf):
output = open("output.txt", "a", 0)
if(len(readable_results) > 1 or len(readable_results) == 0):
output.write('no response')
elif('weather' in readable_results):
output.write('weather')
elif('news' in readable_results):
output.write('news')
elif('video' in readable_results):
output.write('video')
答案 0 :(得分:1)
我认为你在
中犯了一个简单的逻辑错误if(len(readable_results) > 1 ... ):
我的意思是,是的。 无论如何,我编写了你的代码并给了它一个测试
file = "./output.txt"
def run(readable_results, data, rawbuf):
output = open(file, "a")
if(len(readable_results) < 1 or len(readable_results) == 0): #just flipped the comparison operator
output.write('no response')
elif('weather' in readable_results):
output.write('weather')
elif('news' in readable_results):
output.write('news')
elif('video' in readable_results):
output.write('video')
output.write("\n")
output.close() # don't forget to close files
run("Hello World! news", 0, 0)
并且它写入文件没有问题(假设文件与.py你正在执行的路径相同)。希望这有帮助
答案 1 :(得分:0)
我没有看到代码有什么问题。也许你应该关闭你工作的文件..... 然后改变.. if(len(readable_results)&gt; 1或len(readable_results)== 0): 至 if(len(readable_results)&lt; 1: