如何从文本文件导出字符串之间的文本

如何从文本文件导出字符串之间的文本

我有一个很长的文本文件,其中包含类似这样的产品描述

Item code 104
Product name a
Description number 1
Description number 1 extra lines

Item code 108
Product name b
Description number 2

我想将包含名称和描述的文本导出到以每个产品命名的文件中,仅包含产品代码之间的文本,而不是产品代码本身。

在上面的例子中,我希望

文件 1 a.txt 包含:产品名称 a 描述 1

文件 2 b.txt 包含:产品名称 b 描述 2

我一直在网上搜索,找到了类似的东西,但不是我需要的。我找到的代码如下关联

问题涉及大量文本文件,而我需要在同一个文件中找到多个实例并将其保存为以读取内容的行命名的新文件。

答案1

#!/usr/bin/python 

import re

ITEM_NONE  = 0
ITEM_FOUND = 1

state = ITEM_NONE

out_file = None

with open('/tmp/data.txt','r') as f:
    for line in f.readlines():
        m = re.match(r'^Item code (\d+)$', line)
        if m:
            state = ITEM_FOUND
            out_file = open('/tmp/%d.txt' % int(m.group(1)), 'w')

        m = re.match(r'^$', line)
        if m:
            state = ITEM_NONE 
            out_file.close()

        if state != ITEM_NONE:
            out_file.write(line)

if out_file:
    out_file.close()

相关内容