Thanks! This is helpful.. I like the RE approach as it's conceivable to write a function...
On 10/27/07, Aditya Lal <[EMAIL PROTECTED]> wrote: > > You can source the file in python provided that you make it python > friendly:- > > STN_id[1]='AAA' instead of STN_id[1]=AAA > ... > > > ----------- > import re > # Read the file > fd = open('sitelocations') > lines = fd.readlines() > fd.close() > > > # Make it python friendly: put all values in 'single quotes' > cmd = '\n'.join([re.sub( r'^([^=]+)=(.*)$', r"\1='\2'", v) for v in > lines]) > > > # Create variables as list of appropriate size with default values > (assuming 0) > max = 5 > STN_id, STNlat, STNlon, STNelv = [0]*max, [0]*max, [0]*max, [0]*max > > > # Execute the command and all your variables are populated ... > exec(cmd) > > > ------------------- > Not sure if this is a better way :) But atleast it will make the file > sitelocations order invariant - implies you can interchange the lines > without breaking the logic. > > > Caveat - list in python starts at 0 index so STN_id[1] is not the first > element but the second element. But you can filter unwanted items from the > list if you want as in - > [ x for x in STN_id if x != 0 ] > > > HTH > Aditya > > On 10/27/07, John <[EMAIL PROTECTED]> wrote: > > > I have a file sitelocations: > > > > STN_id[1]=AAA > > STNlat[1]=58.800000 > > STNlon[1]=17.400000 > > STNelv[1]=20 > > STN_id[2]=BBB > > STNlat[2]=42.450000 > > STNlon[2]=25.583333 > > STNelv[2]=2925 > > > > which in shell scripts I can simple 'source'. In Python I have to: > > sitesFile=file('sitelocations','r') > > sites=sitesFile.readlines() > > i=0; > > for l in sites: > > if i==0: > > STN_id.append(l.split('=')[1].strip('\n')); i+=1; > > elif i==1: > > STNlat.append(l.split('=')[1].strip('\n')); i+=1; > > elif i==2: > > STNlon.append(l.split('=')[1].strip('\n')); i+=1; > > else: > > STNelv.append(l.split('=')[1].strip('\n')); i=0; > > > > Is there a better way?? > > > > Thanks! > > > > > > > > > > -- > > Configuration > > `````````````````````````` > > Plone 2.5.3-final, > > CMF-1.6.4, > > Zope (Zope 2.9.7-final, python 2.4.4, linux2), > > Five 1.4.1, > > Python 2.4.4 (#1, Jul 3 2007, 22:58:17) [GCC 4.1.1 20070105 (Red Hat > > 4.1.1-51)], > > PIL 1.1.6 > > > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman<http://mail.python.org/mailman/listinfo/tutor> > > /listinfo/tutor <http://mail.python.org/mailman/listinfo/tutor> > > > > > > > -- > Aditya > -- Configuration `````````````````````````` Plone 2.5.3-final, CMF-1.6.4, Zope (Zope 2.9.7-final, python 2.4.4, linux2), Five 1.4.1, Python 2.4.4 (#1, Jul 3 2007, 22:58:17) [GCC 4.1.1 20070105 (Red Hat 4.1.1-51)], PIL 1.1.6
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor