line number var like perl's $.?
Alex Martelli
aleax at aleax.it
Mon Nov 17 11:18:54 EST 2003
Matthew Wilson wrote:
...
> while (<IN>) {
> print "$. $_";
> }
>
> Tracking line numbers is such a common thing to do when parsing files
> that it makes sense for there to be a builtin for it.
Python disagrees with you, and prefers to keep things in modules, in
most cases, rather than shoveling them wholesale into the builtins.
The module that's roughly equivalent to perl's "while(<something>)" is
named fileinput. The task you sketch above, in Python, would normally
be coded more or less as follows:
import fileinput
for line in fileinput.input("readme.html"):
print fileinput.lineno(), line,
There are several other possible approaches, but I find that fileinput
generally affords the smoothest translation of perl input idioms.
Alex
More information about the Python-list
mailing list