Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #41569

Re: Need help in extracting lines from word using python

Newsgroups comp.lang.python
Date 2013-03-19 23:13 -0700
References <f9e61b45-759f-4286-a639-9fb826ec5597@googlegroups.com> <51487911$0$6599$c3e8da3$5496439d@news.astraweb.com>
Message-ID <73c06136-249a-41fd-862f-c454362fbc62@googlegroups.com> (permalink)
Subject Re: Need help in extracting lines from word using python
From razinzamada@gmail.com

Show all headers | View raw


Thanks steven

On Tuesday, March 19, 2013 8:11:22 PM UTC+5:30, Steven D'Aprano wrote:
> On Tue, 19 Mar 2013 07:20:57 -0700, razinzamada wrote:
> 
> 
> 
> > I'm currently trying to extract some data between 2 lines of an input
> 
> > file using Python. the infile is set up such that there is a line
> 
> > -START- where I need the next 10 lines of code if and only if the -END-
> 
> > condition occurs before the next -START-. The -START- line occurs many
> 
> > times before the -END-. Heres a general example of what I mean:
> 
> > 
> 
> > blah
> 
> > blah
> 
> > -START-
> 
> > 10 lines I DONT need
> 
> > blah
> 
> > -START-
> 
> > 10 lines I need
> 
> > blah
> 
> > blah
> 
> > -END-
> 
> > blah
> 
> > blah
> 
> > -START-
> 
> > 10 lines I dont need
> 
> > blah
> 
> > -START-
> 
> > 
> 
> > .... and so on and so forth
> 
> 
> 
> [...]
> 
> 
> 
> > heres the code I have for printing the -START- + 10 lines:
> 
> > 
> 
> >     in = open('input.log')
> 
> 
> 
> No it is not. "in" is a reserved word in Python, that code cannot 
> 
> possibly work, it will give a SyntaxError.
> 
> 
> 
> 
> 
> Try this code. Untested but it should do want you want.
> 
> 
> 
> 
> 
> infile = open('input.log')
> 
> outfile = open('output.txt', 'a')
> 
> # Accumulate lines between START and END lines, ignoring everything else.
> 
> collect = False  # Initially we start by ignoring lines.
> 
> for line in infile:
> 
>     if '-START-' in line:
> 
>         # Ignore any lines already seen, and start collecting.
> 
>         accum = []
> 
>         collect = True
> 
>     elif '-END-' in line:
> 
>         # Write the first ten accumulated lines.
> 
>         outfile.writelines(accum[:10])
> 
>         # Clear the accumulated lines.
> 
>         accum = []
> 
>         # and stop collecting until the next START line
> 
>         collect = False
> 
>     elif collect:
> 
>         accum.append(line)
> 
> 
> 
> outfile.close()
> 
> infile.close()
> 
> 
> 
> 
> 
> 
> 
> -- 
> 
> Steven

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Need help in extracting lines from word using python razinzamada@gmail.com - 2013-03-19 07:20 -0700
  Re: Need help in extracting lines from word using python Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-03-19 14:41 +0000
    Re: Need help in extracting lines from word using python razinzamada@gmail.com - 2013-03-19 23:13 -0700
  Re: Need help in extracting lines from word using python Dave Angel <davea@davea.name> - 2013-03-19 10:54 -0400
    Re: Need help in extracting lines from word using python razinzamada@gmail.com - 2013-03-19 23:14 -0700
    Re: Need help in extracting lines from word using python razinzamada@gmail.com - 2013-03-19 23:14 -0700

csiph-web