【问题标题】:Extract only the last line using read() function使用 read() 函数仅提取最后一行
【发布时间】:2019-04-09 14:41:10
【问题描述】:

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

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

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

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

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() 打印文件的最后一行?

谢谢

【问题讨论】:

标签: python line readlines


【解决方案1】:

也许:

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

【讨论】:

    【解决方案2】:

    你写的

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-08
      • 2021-06-20
      • 2019-03-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2020-08-19
      相关资源
      最近更新 更多