On 2018-07-21 15:20, aldi.kr...@gmail.com wrote:
Hi,
I have a long text, which tells me which files from a database were downloaded and which 
ones failed. The pattern is as follows (at the end of this post). Wrote a tiny program, 
but still is raw. I want to find term "ERROR" and go 5 lines above and get the 
name with suffix XPT, in this first case DRXIFF_F.XPT, but it changes in other cases to 
some other name with suffix XPT. Thanks, Aldi

# reading errors from a file txt
import re
with open('nohup.out', 'r') as fh:
   lines = fh.readlines()
   for line in lines:
       m1 = re.search("XPT", line)
       m2 = re.search('ERROR', line)
       if m1:
         print(line)
       if m2:
         print(line)

Firstly, you don't need regex for something has simple has checking for the presence of a string.

Secondly, I think it's 4 lines above, not 5.

'enumerate' comes in useful here:

with open('nohup.out', 'r') as fh:
    lines = fh.readlines()
    for i, line in enumerate(lines):
        if 'ERROR' in line:
            print(line)
            print(lines[i - 4])


--2018-07-14 21:26:45--  https://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/DRXIFF_F.XPT
Resolving wwwn.cdc.gov (wwwn.cdc.gov)... 198.246.102.39
Connecting to wwwn.cdc.gov (wwwn.cdc.gov)|198.246.102.39|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-07-14 21:26:46 ERROR 404: Not Found.

--2018-07-14 21:26:46--  https://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/DRXTOT_F.XPT
Resolving wwwn.cdc.gov (wwwn.cdc.gov)... 198.246.102.39
Connecting to wwwn.cdc.gov (wwwn.cdc.gov)|198.246.102.39|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-07-14 21:26:46 ERROR 404: Not Found.

--2018-07-14 21:26:46--  https://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/DRXFMT_F.XPT
Resolving wwwn.cdc.gov (wwwn.cdc.gov)... 198.246.102.39
Connecting to wwwn.cdc.gov (wwwn.cdc.gov)|198.246.102.39|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-07-14 21:26:46 ERROR 404: Not Found.

--2018-07-14 21:26:46--  https://wwwn.cdc.gov/Nchs/Nhanes/2009-2010/DSQ1_F.XPT
Resolving wwwn.cdc.gov (wwwn.cdc.gov)... 198.246.102.39
Connecting to wwwn.cdc.gov (wwwn.cdc.gov)|198.246.102.39|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2018-07-14 21:26:47 ERROR 404: Not Found.

--2018-07-14 21:26:47--  https://wwwn.cdc.gov/Nchs/Nhanes/1999-2000/DSII.XPT
Resolving wwwn.cdc.gov (wwwn.cdc.gov)... 198.246.102.39
Connecting to wwwn.cdc.gov (wwwn.cdc.gov)|198.246.102.39|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 56060880 (53M) [application/octet-stream]
Saving to: ‘DSII.XPT’


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

Reply via email to