Hi Paul, Paul McGuire wrote:
> On Oct 17, 4:47 pm, Fabian Braennstroem <[EMAIL PROTECTED]> wrote: > <snip> >> Unfortunately, it does not parse the whole file names with >> the underscore and I do not know yet, how I can access the >> line with 'define/boundary-conditions'. Every 'argument' of >> that command should become a separate python variable!? >> Does anyone have an idea, how I can achieve this!? >> Regards! >> Fabian > > You are trying to match "keps1500_500.dat" with the expression > "Word(alphanums)". Since the filename contains characters other than > alphas and numbers, you must add the remaining characters ("." and > "_") to the expression. Try changing: > > write= Word(alphanums) > > to: > > write= Word(alphanums+"._") > > > To help you to parse "/define/boundary-conditions in velocity-inlet 10 > 0.1 0.1 no 1", we would need to know just what these arguments are, > and what values they can take. I'll take a wild guess, and propose > this: > > real = Combine(integer + "." + integer) > defineBoundaryConditions = "/define/boundary-conditions" + \ > oneOf("in out inout")("direction") + \ > Word(alphanums+"-")("conditionName") + \ > integer("magnitude") + \ > real("initialX") + \ > real("initialY") + \ > oneOf("yes no")("optional") + \ > integer("normal") > > (Note I am using the new notation for setting results names, > introduced in 1.4.7 - simply follow the expression with ("name"), > instead of having to call .setResultsName.) > > And here is a slight modification to your printout routine, using the > dump() method of the ParseResults class: > > for tokens in defineBoundaryConditions.searchString(data): > print > print "Boundary Conditions = "+ tokens.conditionName > print tokens.dump() > print > print 50*"-" > > > prints: > > Boundary Conditions = velocity-inlet > ['/define/boundary-conditions', 'in', 'velocity-inlet', '10', '0.1', > '0.1', 'no', '1'] > - conditionName: velocity-inlet > - direction: in > - initialX: 0.1 > - initialY: 0.1 > - magnitude: 10 > - normal: 1 > - optional: no Great! Thanks for the very good explanation! Regards! Fabian -- http://mail.python.org/mailman/listinfo/python-list