Mesclando vários arquivos Linha a linha Notepad ++ Python? [fechadas]

0

Eu tenho vários arquivos de texto, gostaria de criar uma lista de reprodução de & precisa combiná-los em ordem seqüencial linha por linha. Estou ciente de um exemplo de script Python para combinar arquivos, mas não tenho idéia de como modificar o script para fazer o seguinte. Seria apreciado se alguém pudesse fornecer um script de trabalho.

Entrada:

Arquivo Text_A

Video_A1
Video_A2
Video_A3

Arquivo Text_B

Video_B1
Video_B2
Video_B3

Arquivo Text_C

Video_C1
Video_C2
Video_C3

Saída:

Video_A1
Video_B1 
Video_C1
Video_A2
Video_B2
Video_C2
Video_A3
Video_B3
Video_C3
    
por joeatari 30.04.2018 / 02:02

1 resposta

2

Experimente este script Python. Você só precisa mudar as primeiras 3 linhas. newline deve ser definido como "\ n" no Linux e "\ r \ n" no Windows. files é a lista de arquivos de entrada e outfile é o nome do arquivo de saída.

newline = "\r\n"
files = ["A.txt", "B.txt", "C.txt"]
outfile = "Output.txt"

for i in range(0, len(files)):
  files[i] = open(files[i], "rU")

with open(outfile, "w") as out:
  while True:
    finished = True
    for f in files:
      line = f.readline()
      if line != "":
        finished = False
        line = line.replace("\n", "")
        out.write(line + newline)
    if finished:
      break

Aqui está outro script que você pode usar dentro do Notepad ++ se você tiver o plugin PythonScript instalado

newline = "\r\n"

files = []
for (name, id, idx, view) in notepad.getFiles():
  if view != 0:
    continue
  notepad.activateBufferID(id)
  files.append(editor.getText().splitlines())

notepad.new()

lineNr = 0
while True:
  lines = ""
  for file in files:
    if len(file) > lineNr: lines += file[lineNr] + newline
  if(len(lines) > 0): editor.appendText(lines)
  else: break
  lineNr += 1
    
por 30.04.2018 / 05:53