У меня есть несколько текстовых файлов, я хотел бы создать список воспроизведения из & нужно объединить их в последовательном порядке построчно. Мне известен пример скрипта Python для объединения файлов, но я не знаю, как изменить скрипт, чтобы сделать следующее. Было бы полезно, если бы кто-то мог предоставить рабочий сценарий.

Входные данные:

Текст_А Файл

Video_A1
Video_A2
Video_A3

Файл Text_B

Video_B1
Video_B2
Video_B3

Файл Text_C

Video_C1
Video_C2
Video_C3

Выход:

Video_A1
Video_B1 
Video_C1
Video_A2
Video_B2
Video_C2
Video_A3
Video_B3
Video_C3

1 ответ1

2

Попробуйте этот скрипт на Python. Вам просто нужно изменить первые 3 строки. newline должно быть установлено "\n" в Linux и "\r\n" в Windows. files - список входных файлов, а outfile - имя выходного файла.

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

Вот еще один скрипт, который вы можете использовать из Notepad++, если у вас установлен плагин PythonScript

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .