首页 > 解决方案 > 使用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”之后的单词的选项

请帮忙。

标签: python-3.xtextextraction

解决方案


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

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

推荐阅读