我一直在四处寻找但无法找到解决此问题的方法, 〜这并不需要对实际问题进行任何编码!〜
如果我给了一个文件,我使用for ... open(文件名)打印出每一行。 这会给我一个结果......
line 1
line 2
line 3
line....
但是,我尝试做的是为每行编号,以便我的打印看起来像......
#1 line 1
#2 line 2
#3 line 3
我如何改变我的打印声明,以便为每行计数打印#1-30。
答案 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)