在记事本++;使用Python脚本

在记事本++;使用Python脚本,python,notepad++,Python,Notepad++,我有一个文本文件,其中包含带有制表符缩进而非索引的行。它看起来像: A a1,asdf,lkjhj some thing here B MORE THINGS,HERE C MORE TEXTS HERE HERE ALSO TEXTS AND SO 我想把缩进的行和前面的行连接起来 结果应该如下所示: A a1,asdf,lkjhj some thing here B MORE THINGS,HERE C MORE

我有一个文本文件,其中包含带有制表符缩进而非索引的行。它看起来像:

A    a1,asdf,lkjhj
     some thing here
B    MORE THINGS,HERE
C    MORE TEXTS HERE
     HERE ALSO TEXTS
     AND SO
我想把缩进的行和前面的行连接起来

结果应该如下所示:

  A    a1,asdf,lkjhj some thing here
  B    MORE THINGS,HERE
  C    MORE TEXTS HERE  HERE ALSO TEXTS AND SO
由于该文件有22000多行,我尝试使用notepad++模块
Npp
使用Python脚本实现自动化。我试过这个:

import sys
from Npp import *

notepad.open("input.txt")
i= 0

line=editor.gotoLine(i)
if  line.startsWith('^[\t]' ) :
        notepad.runMenuCommand( 'Macro','line join')
else:
pass
i=i+1
print 'done'
Notpad.save()

这是行不通的。如何修复它?

作为使用Notepad++的替代方法,您可以直接使用Python修改输入文件:

with open('input.txt', 'r') as f_input:
    text = f_input.read()
    text = re.sub(r'(^.*?(?=\n\S+|\Z))', lambda x: re.sub(r"(\n\s+)", " ", x.group(1)), text, flags=re.M+re.S)

with open('input.txt', 'w') as f_output:
    f_output.write(text)
这将为您提供以下输出:

A    a1,asdf,lkjhj some thing here
B    MORE THINGS,HERE
C    MORE TEXTS HERE HERE ALSO TEXTS AND SO

它不起作用吗?以什么方式?