我有一个文本文件,其中包含带有制表符缩进的行和未插入的行。看起来像:
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
由于该文件有22,000多行,因此我尝试使用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
关于python - 使用Python脚本在Notepad++中向上一行添加一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32397469/