2

我想将大约 4000 行文本从一个文本文件插入到另一个文本文件,但必须在当前行之间插入文本列表,在其上方和下方留下空行。

例如 output.txt

old text

new text
new text

old text

所有 4000 行都采用以下格式:mydata /Alarm /Stop factor group1 cam.ad 行数每周都会增加,所以我不能指定只复制 4000 行。

谁能给我建议如何做到这一点?我尝试了一些脚本,但我只能编辑带有指定文本的行,因此当行数增加时它不起作用并且它没有将它们保存在输出文件中。

我尝试了以下脚本:

import fileinput

for line in fileinput.input('input.txt', inplace=1):
 print line,
 if line.startswith('old text'):
     print 'new text'
4

1 回答 1

0

您必须使用接近此的算法来解决它:这里我认为new是必须导入的文本old

打开两个文件,一个原始文件,一个临时文件tmp

  1. 将所有行读取到“旧文本”,并将它们写入tmp
  2. 插入\n_tmp
  3. 插入newtext_tmp
  4. 插入\n_tmp
  5. 插入“旧文本”和以下所有行tmp
  6. tmp将文件复制到old文件

基本上,在python中看起来像

with open('oldfile') as old:
    with open('newfile') as new:
        with open('tmpfile') as tmp:
            …

可悲的是,没有更多的上下文,我无法给你更好的答案。

于 2013-05-08T11:34:17.117 回答