在某些字符串之间复制文本

时间:2014-11-01 10:08:21

标签: python text copy between words

我有一个~8MB的文件,我想分开。该文件的结构如下:

XYZ DATA 
File01
...
...
...
XYZ DATA
File02 
...

在这个文件中,我有~50个所谓的标题,即XYZ DATA File01,依此类推。在这些标题之间是未定义的文本量。我想在单个文件中拆分每个标题+后面的文本。因此我正在寻找XYZ DATA,因为它总是在原始文件中重复。每个新文件的文件名应与XYZ DATA之后第二行中的字符串匹配。

我能够使用XYZ DATA识别行,但后来我只知道如何将此行写入新文件,但我想写一切从XYZ DATA开始到下一个{{ 1}}到一个新文件。

对我来说,这是一件很难的事情。我不想在这里有完整的代码,我想要一些提示。有谁知道我必须做什么。也许是我可以查找的教程?

1 个答案:

答案 0 :(得分:0)

你应该有一个状态变量。变量可以具有三种状态之一(可以是表示状态的整数值)

  • 开始 - 您的计划最初的状态
  • 新文件 - 您刚读过XYZ DATA行
  • 处理 - 您已阅读任何非XYZ DATA的行

在循环浏览文件时,将状态变量设置为状态。最初它是"开始"。当您读取XYZ DATA行时,将状态设置为" new file" (状态可以是整数,某些值如2表示"新文件"。当您将状态设置为"新文件"时,保存该行,如果状态当前不是& #34;开始"然后关闭输出文件。当你读一行并且状态是"新文件"将状态设置为"处理"并使用string split命令来获取该行的第一个字段。使用该文件名打开文件并写入保存的XYZ行和当前行。循环后关闭打开的文件。