[Tutor] Read from large text file, parse, find string, print string + line number to second text file.
Nick W
pacificmorrowind at gmail.com
Fri Feb 1 21:31:07 CET 2013
quite easy to do; just use enumerate - as so:
myString = "The String"
with open('largeFile', 'r') as inF:
for index, line in enumerate(inF):
#myString = "The String" ##Not here because otherwise this gets run
for every single line of the large file (which is nasty waste of resources)
if 'myString' in line:
with open(thenewfile', 'w') as f:
f.write("Line #%d has string: %s" (index, line))
That will print the whole line into the new file, If you only want the
characters before that use find and take a slice of the line instead.
HTH
Nick
On Fri, Feb 1, 2013 at 12:09 PM, Scurvy Scott <etanes.rm at gmail.com> wrote:
> Hey all how're things?
>
> I'm hoping for some guidance on a problem I'm trying to work through.
> I know this has been previously covered on this list but I'm hoping it
> won't bother you guys to run through it again.
>
> My basic program I'm attempting to create is like this..
>
> I want to read from a large, very large file.
> I want to find a certain string
> if it finds the string I would like to select the first 15-20
> characters pre and proceeding the string and then output that new
> string to a new file along with the line the string was located on
> within the file.
>
> It seems fairly straight forward but I'm wondering if y'all can point
> me to a direction that would help me accomplish this..
>
> Firstly I know I can read a file and search for the string with (a
> portion of this code was found on stackoverflow and is not mine and
> some of it is my own)
>
> with open('largeFile', 'r') as inF:
> for line in inF:
> myString = "The String"
> if 'myString' in line:
> f = open(thenewfile', 'w')
> f.write(myString)
> f.close()
>
> I guess what I'm looking for then is tips on A)My stated goal of also
> writing the 15-20 characters before and after myString to the new file
> and
> B)finding the line number and writing that to the file as well.
>
> Any information you can give me or pointers would be awesome, thanks in
> advance.
>
> I'm on Ubuntu 12.10 running LXDE and working with Python 2.7
>
> Scott
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130201/bab74e60/attachment.html>
More information about the Tutor
mailing list