如何在python中读取txt文件中最后一行的第一个字母



有人能告诉我如何在python中读取txt文件中最后一行的第一个字母吗?对不起,如果这个问题有点令人困惑,这是我关于堆栈溢出的第一个问题。

这是一种解决方案,尽管可能不是最好的解决方案,因为它读取文本文件的所有内容,因此内存效率不高。对你的要求来说,反向读取可能太复杂了。

with open('text.txt', 'r') as f:
print(list(f)[-1][0])
file_obj = open('myfile.txt')
the_text = file_obj.read()
*_, last_line = text.rsplit('n', maxsplit=1)
first_char = last_line[0]

访问文件最后一行的一个简单的解决方案是使用基本的for循环,尽管需要O(n)时间:

file = open("script.txt", "r")
last = ""
for line in file:
last = line
print(last[0])

小文件解决方案。这将打开文件,并遍历行,直到文件完全遍历。

with open('filename.txt') as f:
for line in f:
pass
last_line_char = line[0]

大文件解决方案(也快得多)。这利用了os.seek()模块的优势。

import os
with open('filename.txt', 'rb') as f:
f.seek(-2, os.SEEK_END)
while f.read(1) != b'n':
f.seek(-2, os.SEEK_CUR)
last_line = f.readline().decode()
last_line_char = last_line[0]

此处的代码

相关内容

最新更新