在python中编号打印语句

时间:2013-10-12 19:57:27

标签: python printing

我一直在四处寻找但无法找到解决此问题的方法, 〜这并不需要对实际问题进行任何编码!〜

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

line 1
line 2
line 3
line....

但是,我尝试做的是为每行编号,以便我的打印看起来像......

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

我如何改变我的打印声明,以便为每行计数打印#1-30。

2 个答案:

答案 0 :(得分:7)

您可以使用enumerate() function in循环生成数字:

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

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

答案 1 :(得分:2)

使用enumerate

import sys

with open(filename) as f:
    lines = ('#{} {}'.format(lineno, line) for lineno, line in enumerate(f, 1))
    sys.stdout.writelines(lines)