使用 read() 函数仅提取最后一行

Extract only the last line using read() function

我正在使用以下代码进行一些文本分析(我有更多代码用于分析):

with open(os.path.join(root, file)) as auto:
    a = auto.read(50000)
    for line in auto:
      print(line)

我的问题是:如何只打印文件的最后一行?

我尝试了这种方法,但我认为这不是一个好的选择,因为它 return 没有任何消息:

with open(os.path.join(root, file)) as auto:
            a = auto.read(50000)
            lines = a.readlines()
            last_line = lines[-1]
            for line in auto:
                print(last_line)

如何使用 auto.read() 打印文件的最后一行?

谢谢

你写的

I try this approach but I don't think it is a good option since it doesn't return any message:

然后要求使用 read() 的技术。但是,我认为您的方法是合理的并且确实有效(尽管我怀疑您正在阅读的文件的最后一行有一个空行)。例如,这确实打印了文件的最后一行:

import os
with open('test.py') as auto:
    lines = auto.readlines()
    last_line = lines[-1]
    print(last_line)

也许:

list.txt:

sdfs
sdfs
fg34
345
gn
4564

因此:

with open('list.txt') as fileObj:
    print(list(fileObj)[-1])

使用pathlib:

from pathlib import Path
print(Path('list.txt').read_text().splitlines()[-1])

输出:

4564