On 04/15/2010 11:05 AM, Terry Reedy wrote:
On 4/15/2010 2:57 AM, chaaana wrote:
hi..
im parsing the text file containing the details of the testcases
failed.From the file i wanted to obtain only the testcase names and
enter them in the excel sheet.

the pattern of the text file is:

FILE : NW_PTH_TFG6_SCEN_4_2_FIFO.c, LINE : 240 TEST FAIL to get entire:
32768 bytes
NW_PTH_TFG6_SCEN_4_2_FIFO.c 340 DATA NOT MATCHING, TEST FAIL
TEST FAIL SYSCALL_TEST_SCEN_4_1_ALL.c at line 355
FILE:US_TFG7_SCEN_4_1.c,LINE:189, Server side TEST FAIL
FAIL BREW_SCEN_4_1.c 219: can't mount
FAIL BREW_SCEN_4_1.c 121: can't umount
<<   BREW_SCEN_4_1.c TEST FAIL errno:No such file or directory>>
<<   BREW_SCEN_4_1.c TEST FAIL>>   error:Invalid argument

I do not see any consistent pattern in the above lines.
What output do you see from filtering them?

My guess is that it's the "FILE:...LINE:..." line(s) that the OP is interested in, in which case one could do something like

  r = re.compile(r'^FILE\s*:\s*(.*?),\s*LINE\s*:\s*(\d+)')
  for line in file('input.txt'):
    m = r.match(line)
    if m:
      print m.group(1), m.group(2)

Alternatively, if you're in the regexp-avoiding camp, you might be able to get away with

  LINE_BIT = ', LINE : '
  for line in file('input.txt'):
    if line.startswith('FILE :') and LINE_BIT in line:
      leader, _ = line.split(LINE_BIT, 1)
      _, fname = leader.split(":", 1)
      fname = fname.strip()
      print repr(fname)

but that relies on the LINE_BIT remaining constant (the "LINE:189" doesn't have spaces where the first "LINE : 240" does have extra spaces; and the same with the extra spaces around the "FILE" portion).

-tkc




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to