> I'm trying to read in and parse an ascii type file that contains > information that can span several lines. > Example: > > createNode animCurveTU -n "test:master_globalSmooth"; > setAttr ".tan" 9; > setAttr -s 4 ".ktv[0:3]" 101 0 163 0 169 0 201 0; > setAttr -s 4 ".kit[3]" 10; > setAttr -s 4 ".kot[3]" 10; > createNode animCurveTU -n "test:master_res"; > setAttr ".tan" 9; > setAttr ".ktv[0]" 103 0; > setAttr ".kot[0]" 5; > createNode animCurveTU -n "test:master_faceRig"; > setAttr ".tan" 9; > setAttr ".ktv[0]" 103 0; > setAttr ".kot[0]" 5; > > I'm wanting to grab the information out in chunks, so > > createNode animCurveTU -n "test:master_faceRig"; > setAttr ".tan" 9; > setAttr ".ktv[0]" 103 0; > setAttr ".kot[0]" 5; > > would be what my regex would grab. > I'm currently only able to grab out the first line and part of the > second line, but no more. > regex is as follows > > my_regexp = re.compile("createNode\ animCurve.*\n[\t*setAttr.*\n]*") > > I've run several variations of this, but none return me all of the > expected information. > > Is there something special that needs to be done to have the regexp > grab > any number of the setAttr lines without specification? > > Brandon L. Harris
Aren't you making life too complicated for yourself? blocks = [] for line in yourFile: if line.startswith("createNode"): if currentBlock: blocks.append(currentBlock) currentBlock = [line] else: currentBlock.append(line) blocks.append(currentBlock) Cheers, Drea -- http://mail.python.org/mailman/listinfo/python-list