使用 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
我正在使用以下代码进行一些文本分析(我有更多代码用于分析):
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