【问题标题】:Extract the multiple patterns from the text file in python (Single def function)从python中的文本文件中提取多个模式(单def函数)
【发布时间】:2017-05-11 13:42:13
【问题描述】:

我的文本文件包含以下信息。从中我想用单个 def 函数提取多个模式你能帮我吗

pattern1:打印包含 STALL 关键字的特定行

patter2:打印包含OVERRUN关键字的行

pattern3:打印包含两个关键字SIM DASDALERT关键字

的行

pattern4:打印包含 “SNAP”“IS-” 的行,并以包含关键字 END OF DISPLAY 的行结束>

Input:
08:12:19 80000000 00000000 2967561E      
08:12:19 PGM-BA13 CODE-U00BA1302 TERM-000000A 
08:12:19 SNAP 0003I 08.12.20 CPU-A SS-BSS SSU-BSS IS-3 
08:12:19 PSW-07151000 80000000 00000000 2967561E      
08:12:19 PGM-BA13 CODE-U00BA1302 TERM-000000A        
08:12:19 END OF  DISPLAY 
23:34:16 CYEM0099E 23.34.16 SIM DASD   MODERATE ALERT 
20:10:25 CYEM0099E 20.10.25 OVERRUN
13:48:54 CYED0012W  MODULE QUEUE FOR MAY BE STALL  

输出应该是:

pattern1:
13:48:54 CYED0012W  MODULE QUEUE FOR MAY BE STALL

patter2:  
20:10:25 CYEM0099E 20.10.25 OVERRUN

pattern3:
23:34:16  CYEM0099E 23.34.16 SIM DASD   MODERATE ALERT 

patter4:
08:12:19 SNAP0003I 08.12.20 CPU-A SS-BSS SSU-BSS IS-3 
08:12:19 PSW-07151000 80000000 00000000 2967561E      
08:12:19 PGM-BA13 CODE-U00BA1302 TERM-000000A        
08:12:19 END OF  DISPLAY

我用过这段代码

value=["STALL","OVERRUN"]
with open('SNAP.txt', mode='r') as infile:
    for line in infile:
        if value in line:
           print(line)

【问题讨论】:

    标签: python text extraction


    【解决方案1】:

    这里不需要模式。 "substring" in "string""substring" in lineline.endswith("suffix") 应该可以正常工作。

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多