Skip to main content
 首页 » 编程设计

python之在 Python 中获取两条相同行之间的文本

2025年05月04日11shanyou

<分区>

我是 Python 的新手。我经常使用 Perl,听说 Python 通常更擅长解析文本,所以我想试一试,但我想不出最简单的方法(有关信息,我已经用 Perl 做过,但它花了我几个,缓慢而丑陋的循环):

我想读取一个大文件并提取以相同模式开头的两行之间的文本 block ,例如:

!NAME: "N0",                DESCR: "Netnt Etrnet" 
!NAME: "cp0",              DESCR: "Cle R0" 
!NAME: "slt R1",               DESCR: "RSt" 
>>!NAME: "moe R1",             DESCR: "ASessor 1,bps" 
>>!PID: A9-55 
>>!VID: G0984981 
>>!SN: SEDGH25443N51E 
!NAME: "SDFGSDFG: FGT/0",       DESCR: "VFDFGX1" 
!NAME: "JQFHF1",       DESCR: "VNQDF2" 

当然“>>”不是文本文件的一部分,它只是为了显示我想要检索的行。

所以回顾一下:我想打印所有 block (文件中有更多 block ),其中 block 的第一行以“!NAME”开头,并且在下一个“!NAME”之前有其他行。

我不关心连续有两个“!NAME:”的 block 。

这只是第一步,稍后我将尝试检索此 block 的值以创建散列(或字典或任何与 Python 中的散列等效的内容)。但我已经卡在了第一步,所以我正在寻求帮助哈哈。

谢谢!