Python按行读取文件内容并得到当前行号

假设要读取的文件somefile.txt内容如下:

1
2
3
AAA
BBB
CCC

不止要按行读取文件内容,还要得到当前行号。方法如下:
文件对象是可迭代的(按行迭代),使用enumerate()即可在迭代的同时,得到数字索引(行号)。

1
2
3
with open('somefile.txt') as f:
for number, line in enumerate(f):
print(number, line, end='')

输出结果:

1
2
3
0 AAA
1 BBB
2 CCC

enumerate()的默认数字初始值是0,如需指定1为起始,可以设置其第二个参数:

1
2
3
with open('somefile.txt') as f:
for number, line in enumerate(f, start=1):
print(number, line, end='')

输出结果:

1
2
3
1 AAA
2 BBB
3 CCC

另外,对本文操作时使用with语句,可以在执行完with块中的代码后,自动关闭文件,无需我们自己调用f.close()关闭文件。

大师兄 wechat
欢迎关注我的微信公众号:Python大师兄