使用python访问连续更新文件中最新的一行

2024-10-02 06:23:34 发布

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

我正在从文件中读取数据'爱莎.txt'. 数据被逐行读取,文件不断更新,现在我想访问最新的一行或文件末尾。我怎么能做到呢?在

用于写入文件的代码是:

import time
a= open('c:/test/aisha.txt','w')
while(1):
     a.write(str(i))
     a.write("\n")
     i+=1
a.close      

Tags: 文件数据代码testimporttxtclosetime
1条回答
网友
1楼 · 发布于 2024-10-02 06:23:34

要读取文件中的最后一行,如果知道文件中任何行的最大长度,这是最简单的。然后,您可以从文件末尾查找该数量的字符并向前读。在文件结束之前读取的最后一行就是您想要的行。在

import os

MAXLEN = 132

file = open('testfile','r')

try:
    file.seek(-MAXLEN, os.SEEK_END)
except IOError:
    pass

last = "No lines in file"
while True:
    s = file.readline()
    if len(s) == 0:
        break
    last = s

file.close()

print last

请注意,如果在Windows上运行此程序,而原始文件仍处于打开状态,则该程序将失败,因为在Windows上,打开进行写入的文件在关闭之前是不可读的。在

相关问题 更多 >

    热门问题