Changeset 2179
- Timestamp:
- 19/02/07 13:34:46 (14 years ago)
- Location:
- nappy/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
nappy/trunk/naFile.py
r366 r2179 113 113 rtlines=[] 114 114 for line in datalines: 115 if re.match(r"^[\s\n\t\r]*$", line): 115 #if re.match(r"^[\s\n\t\r]*$", line): 116 if not line.strip(): #looks for blank line, quicker than reg ex 116 117 empties=1 117 118 else: … … 274 275 datalines=self._readData1(datalines, m) 275 276 datalines=self._readData2(datalines, m) 276 m=m+1 277 277 m=m+1 278 -
nappy/trunk/textParser.py
r349 r2179 19 19 def readItemFromLine(line, rttype=str): 20 20 rtitem=pattnNoQuotes.sub("", line.strip()) 21 if rttype==int: 22 rtitem=int(rtitem) 23 elif rttype==float: 24 rtitem=float(rtitem) 21 if rttype is not str: 22 rtitem = rttype(rtitem) 25 23 return rtitem 26 24 … … 29 27 if nitems and len(rtitems)!=nitems: 30 28 raise "Incorrect number of items (%s) found in line: \n'%s'" % (nitems, line) 31 if rttype==int: 32 rtitems=map(lambda x: int(x), rtitems) 33 elif rttype==float: 34 rtitems=map(lambda x: float(x), rtitems) 29 if rttype is not str: 30 rtitems = [rttype(x) for x in rtitems] 35 31 return rtitems 36 32 … … 39 35 for line in lines: 40 36 rtitems=rtitems+[readItemFromLine(line, rttype)] 41 if rttype==int: 42 rtitems=map(lambda x: int(x), rtitems) 43 elif rttype==float: 44 rtitems=map(lambda x: float(x), rtitems) 37 if rttype is not str: 38 rtitems = [rttype(x) for x in rtitems] 45 39 return rtitems 46 40 … … 53 47 """ 54 48 rtitems=[] 55 lines=[] 56 if type(object)==list: 57 while len(rtitems)<nitems: 58 nextitem=object[0] 59 object=object[1:] 60 items=re.split(r"\s+", nextitem.strip()) 61 lines.append(items) 62 (rtitems, extras)=(rtitems+items[:nitems], items[nitems:]) 49 lines=[] 50 if type(object) is list: 51 nextitem=object[0] 52 del object[0] 53 while len(rtitems)<nitems: 54 #items=re.split(r"\s+", nextitem.strip()) 55 items=nextitem.strip().split() 56 lines.append(items) 57 (rtitems,extras)=(rtitems+items[:nitems],items[nitems:]) 63 58 if len(extras)>0: 64 59 raise "Could not split %s lines exactly into required number (%s) of items: \n%s" % (len(lines), nitems, lines) 65 if rttype==int: 66 rtitems=map(lambda x: int(x), rtitems) 67 elif rttype==float: 68 rtitems=map(lambda x: float(x), rtitems) 60 if rttype is not str: 61 rtitems = [rttype(x) for x in rtitems] 69 62 return (rtitems, object) 70 63 else: 64 lines =[] 71 65 while len(rtitems)<nitems: 72 items=re.split(r"\s+", object.readline().strip()) 73 lines.append(items) 74 (rtitems, extras)=(rtitems+items[:nitems], items[nitems:]) 66 #items=re.split(r"\s+", object.readline().strip()) 67 items=object.readline().strip().split() 68 lines.append(items) 69 (rtitems,extras)=(rtitems+items[:nitems], items[nitems:]) 75 70 if len(extras)>0: 76 71 raise "Could not split %s lines exactly into required number (%s) of items: \n%s" % (len(lines), nitems, lines) 77 if rttype==int: 78 rtitems=map(lambda x: int(x), rtitems) 79 elif rttype==float: 80 rtitems=map(lambda x: float(x), rtitems) 72 if rttype is not str: 73 rtitems = [rttype(x) for x in rtitems] 81 74 return rtitems 82 75
Note: See TracChangeset
for help on using the changeset viewer.