Hello, Just getting started with Python, and have had some early, although trivial success. It looks like just the ticket to parse a data file. Total noob at this, but really kind of overwhelmed by all the options. Looking for some direction on which modules, librarys, or ? to accomplish the goal.
To date have been using conditional type statement to tease out information. Now I need to match some strings, put them in an array or list? and read them back after X number of lines. The linesplits are in a predictable pattern and padded by '-' to get eight values or arrays that will be joined together after a set condition is no longer true. So from the data set below, will be looking to print out: RA7,OSC1,CLKI RA6,OSC2 RA5,AN4,nSS1,LVDIN,RCV,RP2 ETC. Any tips greatly appreciated. Thanks. sfr (key=PORTA addr=0xf80 size=1 access='rw rw rw u rw rw rw rw') reset (por='xxxxxxxx' mclr='uuuuuuuu') bit (names='RA7 RA6 RA5 - RA3 RA2 RA1 RA0' width='1 1 1 1 1 1 1 1') bit (tag=scl names='RA' width='8') bit (names='OSC1 OSC2 AN4 - AN3 AN2 AN1 AN0' width='1 1 1 1 1 1 1 1') bit (names='CLKI CLKO nSS1 - VREF_PLUS VREF_MINUS C2INA C1INA' width='1 1 1 1 1 1 1 1') bit (names='- - LVDIN - C1INB CVREF_MINUS PMPA7 PMPA6' width='1 1 1 1 1 1 1 1') bit (names='- - RCV - - C2INB RP1 RP0' width='1 1 1 1 1 1 1 1') bit (names='- - RP2 - - - - -' width='1 1 1 1 1 1 1 1') Here is some noob code used to pick out the RA7, RA6, RA5 etc. Comments welcome. if line.startswith ( " bit (names='R" ): (a, pin7, pin6, pin5, pin4, pin3, pin2, pin1, pin0) = (line.split() + ["", ""])[:9] startpin = pin7[8:3] if startpin.startswith == "RA" or "RB" or "RC" or "RD" or "RE" or "RF" or "RG" or "RH" or "RJ": print pin7[8:] + "," + pin6 + "," + pin5 + "," + pin4 + "," + pin3 + "," + pin2 + "," + pin1 + "," + pin0[:3] + "\n" else: pass _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor