-1

The give input is text data:

file = open("ZZZ.txt").read().splitlines()

Sample result:

['Running from: ',
 'Apr 02, 2019 5:38:29 PM YYYYYYYYY',
 'WARNING: XXXXXXXXXXXXX',
 'Apr 02, 2019 5:38:29 PM YYYYYYYYY',
 'WARNING: XXXXXXXXXXXXX',
 'Apr 02, 2019 5:38:29 PM YYYYYYYYY',
 'INFO: XXXXXXXXXXXXX',
 'Apr 02, 2019 5:38:29 PM YYYYYYYYY',
 'INFO: XXXXXXXXXXXXX',
 'Apr 02, 2019 5:38:33 PM YYYYYYYYY',
 'WARNING: XXXXXXXXXXXXX',
 'Apr 02, 2019 5:38:33 PM YYYYYYYYY',
 'INFO: XXXXXXXXXXXXX]

I need to Extract the input data (YYYYYYYYY) and also have the info or warning (XXXXXXXXXXXXX).

I have tried to extract the input data by using ("Apr" or May or "Jun") and line.startswith("INFO" or "WARNING")

but I got different length key and values list,

key = []
value = []
for line in jenkins:
    if line.startswith("Apr" or May or "Jun"):
        line = line.rstrip()
        key.append(line)
else:
    if line.startswith("INFO" or "WARNING"):
        line = line.rstrip()
        value.append(line)
Maicon Mauricio
  • 2,052
  • 1
  • 13
  • 29

1 Answers1

1

the or keyword does not work inside startswith function its valid syntax if you remove the or keyword its still valid syntax.

for idx, line in enumerate(lines):
    if line.startswith('INFO') or line.startswith('WARNING'):
        keys.append(line.strip())
        values.append(lines[idx-1].strip())
Naqib Hakimi
  • 874
  • 4
  • 15