On Aug 27, 11:12 pm, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote:
> On Wed, 27 Aug 2008 21:11:26 -0700, [EMAIL PROTECTED] wrote:
> > I want to read text line-by-line from a text file, but want to ignore
> > only the first line. I know how to do it in Java (Java has been my
> > primary language for the last couple of years) and following is what I
> > have in Python, but I don't like it and want to learn the better way of
> > doing it.
>
> > file = open(fileName, 'r')
> > lineNumber = 0
> > for line in file:
> >     if lineNumber == 0:
> >         lineNumber = lineNumber + 1
> >     else:
> >         lineNumber = lineNumber + 1
> >         print line
>
> > Can anyone show me the better of doing this kind of task?
>
> input_file = open(filename)
> lines = iter(input_file)
> lines.next()    # Skip line.
> for line in lines:
>     print line
> input_file.close()
>
> Ciao,
>         Marc 'BlackJack' Rintsch

A file object is its own iterator so you can
do more simply:

input_file = open(filename)
input_file.next()    # Skip line.
for line in input_file:
    print line,
input_file.close()

Since the line read includes the terminating
EOL character(s), print it with a "print ... ,"
to avoid adding an additional EOL.

If the OP needs line numbers elsewhere in the
code something like the following would work.

infile = open(fileName, 'r')
for lineNumber, line in enumerate (infile):
    # enumerate returns numbers starting with 0.
    if lineNumber == 0: continue
    print line,
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to