newbie question about self and eval
Prateep Siamwalla
teep at danaicorp.com
Tue Jan 25 07:38:50 EST 2000
OK, this one works.....
self.__dict__[token[0]].append(token[1])
Prateep Siamwalla wrote in message <86jjkj$jmu$1 at news.inet.co.th>...
>Hello o' wise pythoners,
>
>I have a simple question to ask any generous pythoners out there:
>
>I have a simple tab delim text file:
>test.txt
>---------
>fee harry
>fi joe
>fo jack
>fum jim
>fee john
>fo sam
>
>I trying to make a class to read in these values and stuff them into lists
>which this class keeps
>
>(warning, spacing migth be off)
>-------
>class myclass:
>
> def __init__(self,filename='c:\\test.txt'):
> self.fee = []
> self.fi = []
> self.fo = []
> self.fum = []
> f = open(filename,'r')
> rl = f.readlines()
> f.close()
> for lines in rl:
> token = string.split(lines,'\011')
># do something more efficient than this !!!
> bucket = token[0]
> if bucket =='fee':
> self.fee.append(token[1])
> elif bucket == 'fi':
> self.fi.append(token[1])
> elif bucket == 'fo':
> self.fo.append(token[1])
> else:
> self.fum.append(token[1])
>
>---------
>I know there must be a more effective way of appending items into the
>various class lists, (which probably involves eval or something similar,
but
>I've tried some feeble ideas, none of which seem to fly.
>
>I've tried self.eval(token[0]).append(token[1]) but that obviously failed
>in a big way. Could someone please show me the way?
>
>Thanks in Advance,
>teep
>
>
>
>
More information about the Python-list
mailing list