Python - 在最大的缩进处将新行放入文件中

时间:2015-06-17 10:36:42

标签: python

好的,所以我的问题是请使用PYTHON语言 - 别的。

基本上,我有一个文件,其布局如下:

       X
   Y
Z
      A
  B
C
               1
          2
   3

我会看一下并说X, A and 1 mark a new step!(因为它们的缩进基本上比前一行大)。所以我想为每个新步骤添加一个包含文本Step 1Step 2等的新行。

注意:我更关心如何将新行放在正确的位置,而不是每步增加N的值。

注意2:文件的行数会有所不同,所以我不能简单地使用第3,6,9行等。不幸的是,这对我来说毫无用处。

1 个答案:

答案 0 :(得分:0)

您可能需要类似的代码 -

start = 1
lines = ['Step' + str(start) + ':\n']
with open('file.txt','r') as inF:
    prevspace = -1
    for line in inF:
        lspaces = len(line) - len(line.lstrip())
        if lspaces > prevspace and prevspace != -1:
            lines.append('Step' + str(start+1) + ':\n')
            start = start + 1
            lines.append(line)
            prevspace = lspaces
        else:
            lines.append(line)
            prevspace = lspaces
    ifF.close()

with open('newfile.txt','w') as outF:
    for line in lines:
        outF.write(line)
    outF.flush()
    outF.close()