[Tutor] Reading text until a certain point
alan.gauld at btinternet.com
Sat Jul 25 00:11:42 CEST 2009
"Stefan Lesicnik" <stefan at lsd.co.za> wrote
> I have a file that has text in a certain format. Lets assume
> name: stefan
> id: 12345
> color: blue
> name: joe
> id: 54321
> color: red
> The format is predictable. I understand for non predictable text, you
> have to use pyparser or the like to build a match.
There are lots of ways to do this, I might use a class which takes
an open file and reads the three lines and extracts the data as
part of the contructor... Untested pseudo code:
def __init__(self, aFile):
data = aFile.readline().strip().split(:)
setattr(self, data, data)
items = 
f = open('myfile.txt')
This of course breaks my own rule about not having objects for data only
but the intelligent constructor makes it worth it. :-)
Also there might well be other things you want to do to these elements
having collected them...
> The problem being i dont really do something per line? I would like to
> something like, for line until the next 'name', make that 1 element.
> So i would like to then have a list or dict (this probably makes sense
> for a
> dict) with that group. I would then probably split it into various
Just one alternative...
Author of the Learn to Program web site
More information about the Tutor