秘密python日志文件在哪里?

时间:2015-09-14 22:55:04

标签: python

使用下面显示的代码我将时间与电压读数记录到日志文件中。我注意到,如果我在程序运行时“打开”日志文件,它不会显示任何新数据。它仅显示上一次运行程序时logfile.txt中已存在的数据。为了使新数据显示在logfile.txt中,我必须停止正在运行的程序(cntl-C),然后重新打开logfile.txt。必须在某处记录新数据。为什么实时数据不会显示在日志文件中?

    import sys, time, signal

    with open('logfile.txt', 'a') as f:
        while True:
            volts = adc.read(256, 8)
            print >> f, time(), volts 

1 个答案:

答案 0 :(得分:2)

输出存储在内存中的缓冲区中,在缓冲区已满或者关闭文件之前不会写入磁盘,或者您明确告诉它这样做。在从RAM刷新缓冲区之前,您不会看到新的输出。

查找File.flush()方法;我认为这就是你所需要的。