1

我一直在寻找,但找不到解决这个问题的方法,〜这不需要任何编码来解决实际问题!〜

如果给了我一个文件,我使用 for...open(filename) 打印出每一行。这会给我一个结果......

line 1
line 2
line 3
line....

但是,我要做的是对每一行进行编号,以便我的打印看起来像......

#1 line 1
#2 line 2
#3 line 3

我将如何更改我的打印语句以打印出每行计数的 #1-30。

4

2 回答 2

7

您可以在循环中使用该enumerate()函数来生成数字:

with open(filename) as f:
    for i, line in enumerate(f, 1):
        print('#{}: {}'.format(i, line.rstrip('\n'))

1起始值指示从 1而enumerate()不是默认的 0 开始。

于 2013-10-12T19:59:50.083 回答
2

使用enumerate

import sys

with open(filename) as f:
    lines = ('#{} {}'.format(lineno, line) for lineno, line in enumerate(f, 1))
    sys.stdout.writelines(lines)
于 2013-10-12T20:00:46.443 回答