如何在Python中找到光标的行号?
我正在用Python读取一个文件。在我读了很多行之后,有没有什么方便的函数可以让我知道当前光标在文件的第几行呢?
我想避免使用计数器,因为我有多个函数会读取同一个文件,光标可能会到处移动。
谢谢!
3 个回答
0
你可能需要单独记录这个信息,和你的文件一起保存。你可以把文件对象包装一下,加入一个计数器。Python 只会记录你在文件中读取了多少字节,并没有办法根据行号来移动。
补充:我之前说错了。S.Lott 提出的 fileinput
的建议非常好。
1
类似于enumerate这个东西吗?其实这里并没有真正的“光标”,不过下面的代码可以在逐行读取文件时告诉你当前的行号。
for i, line in enumerate(file):
print i, line
6
你可以使用 fileinput 这个工具逐行处理文件:
import fileinput for line in fileinput.input(encoding="utf-8"): process(line)