使用 python 提取文本

Extract text using python

我想从文本文件中提取特定部分。

示例 -

PASSED: 1  GETFILE /root/test/misc/ptolemy/erase_flash.csv  
PASSED: 4  MegaSCU -cfgclr -a0  
PASSED: 8  MegaSCU -adphwdevice -read devicetype 5 bus 1 slaveaddr 82 start 0 sz 256 -f SK83100192.vpd -a0  
PASSED: 28  VALUECHECK PACKAGE= 24.0.2-0013 in tty.log for 1 occurances!

从上面的文本中我想提取 "GETFILE" , "MegaSCU", "VALUECHECK" 作为我的输出。 文件很大,此文本存储为列。

我正在搜索可以帮助我提取文本中 "PASSED: X" 之后的单词的任何选项

请帮忙。

我假设 X 总是一个整数。

因此您可以删除字符串的开头 "PASSED:" 然后读取数字。然后提取直到下一个space。

方法一: 您可以保持简单并执行以下操作:

sample_txt = "PASSED: 1  GETFILE /root/test/misc/ptolemy/erase_flash.csv"

if sample_txt.startswith("PASSED"):
    output = " ".join(sample_txt.split(" ")[2:]).strip()

output 会给出以下结果:

>>> GETFILE /root/test/misc/ptolemy/erase_flash.csv

方法 2:要考虑空格的变化,您可以使用 re 模块

import re

sample_txt = "PASSED: 28  VALUECHECK PACKAGE= 24.0.2-0013 in tty.log for 1 occurances!"

if sample_txt.startswith("PASSED"):
    output = re.split("\s+", sample_txt)[2]
>>> VALUECHECK