行番号表示

fileview.pyを行数を付けて表示するように変更してみる

[fileline.py]

#!/bin/env python
# -*- coding: shift_jis -*-
import sys

argv = sys.argv[1:]            
for i in argv:
    print "[" + i + "]"
    for n, line in enumerate(open(i)):
        print "%d: %s" % (n,line) ,
    print "-------------------------------------------------"

for n, line in enumerate(lines):
組み込み関数enumerateで変数linesをインデクス付けされた値の配列に変換している。
対話モードで試してみると解りやすい

>>> a = ["zz","yy"."zz"]
>>> for b in enumerate(a):
...  print b
...
(0, 'zz')
(1, 'yy')
(2, 'zz')
>>> for i,c in enumerate(a):
...  print i,
...  print c
...
0 zz
1 yy
2 zz
>>>^Z