Config parser module

Larry Bates larry.bates at websafe.com
Fri Sep 23 12:23:50 EDT 2005


ConfigParser is for parsing configuration files of the format:

[section1]
option1=<information>
option2=<information>
.
.
.
optionN=<information>

[section2]
option1=<information>
option2=<information>
.
.
.
optionN=<informattion>

Your data doesn't fit that format.

Looks to me like you should write a small class object for
each different type of record that can be found in the file
that knows how to parse that record and put the information
from that record in to class attributes for easy access.

Something like:

class gridclass:
    def __init__(self, recordToParse):
        elements=recordToParse.split(' ')
	self.type=elements[0]
        self.pointId=int(elements[1])
        self.coordinateSysNo=float(elements[2])
        self.x=float(elements[3])
        self.y=float(elements[4])
        self.z=int(elements[5])
	

Then read the lines, determine the line type and create a class
instance for each one.

-larry
qqcq6s59 at gmail.com wrote:
> Hi all
> I am a newbie and I just saw a ongoing thread on Fileprocessing which
> talks abt config parser.
> I have writen many pyhton program to parse many kind of text files by
> using string module and regex. But after reading that config parser
> thread I feel stunned.
> 
> Can somebody tell me some intro info how to parse huge data (most of
> them are input data to application softwares like nastran, abaqus etc)
> 
> Recently I saw a great work by John on Nastran file parser (i am still
> trying to understand the program,
> http://jrfonseca.dyndns.org/svn/phd/python/Data/Nastran/
> 
> An example of dat may be like this, (part of)
> (say point  id     coordinateSysNo x,y,z ...)
> GRID           1       12478.0  0.0     256.75         1
> GRID           2       12357.25 0.0     256.75         1
> GRID           3       12357.25 0.0     199.0          1
> (say Elementtype id  property point1 point 2 point3 point4 etc)
> CQUAD4      7231      21    5691    5700    5701    56920.0
> 
> CQUAD4      7232      21    5692    5701    5702    56930.0
> 
> CQUAD4      7233      21    5693    5702    5703    56940.0
> 
> the data file is very complex if i consider all complexities)
> 
> Is is possible to use config parser module insome way for this. I also
> have few perl parser (for some part for some particular tasks) and now
> changing them to python. (I feel perl regex combination is very easy to
> learn and very powerfull)
> 
> Any information will be appreciated.
> 
> -jiro
> 



More information about the Python-list mailing list