我想提取从一个文本文件中的特定部分。
例如 -
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”作为我的输出。该文件是巨大的,这个文本被存储为列。
于文:我正在寻找任何选项,它会帮我解压后字“X通过”
请帮助。
方法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
我假设X始终是一个整数。
所以,你可以删除你的字符串的开始“通过:”然后阅读次数。然后解压到一个空格。