簡體   English   中英

使用Python腳本在Notepad ++中為前一行添加一行

[英]Append a line to previous in Notepad++ with Python script

我有一個文本文件,其中包含使用制表符縮進而不是縮進的行。 看起來像:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM