3

我的 websocket 脚本有问题。随着时间的推移,它会消耗越来越多的 CPU。我发现的一种补救措施是清除关联的日志文件。这暂时解决了这个问题,但 CPU 使用率在一天多一点的时间内就增加到了 120%。(在linux服务器上使用top命令)

执行文件写入的脚本部分对我来说有点奇怪。这是代码:

 f = open(file, 'a')
 f.write(line+"\n")
 os.fsync(f.fileno())
 f.flush()
 f.close

我不是 Python 专家,但对于初学者来说,我认为最后三件事的作用大致相同。python手册指出http://docs.python.org/2/library/os.html#os.fsync f.flush和os.fsync应该是相反的顺序......

我可以使用:

 f = open(file, 'a')
 f.write(line+"\n")
 f.close

它不应该是:f.close()??

有任何想法吗?

4

1 回答 1

4

使用它来打开(并自动关闭)您的文件:

with open(filename, 'a') as f:
    f.write(line+"\n")
于 2013-05-02T12:21:29.790 回答