Как я мог объединить 3 TXT-файл вместе - PullRequest
0 голосов
/ 13 февраля 2019

Я сделал 3 текстовых файла с 1 или 2 предложениями внутри.

Я знаю, как читать строки внутри txt файла и комбинировать их вместе.

Я понятия не имею, как объединить всепредложения.

ex) Если предложения A, B, C

Результаты могут быть ABC или ACB или CBA или BCA ...

У меня есть 10 предложений, и я хочу объединить 6 изих случайным образом.

def output() :          
     infile=open("file.txt","r")
     outfile=open("outputone.txt","w")

     line= open('outputa1.txt').readlines()
     line=''.join(line)
     outfile.write("\n")

def output1() :

     line= open('outputa2.txt').readlines()
     line=''.join(line)
     outfile.write(line)
     outfile.write("\n")

def output2() :

     line= open('outputa3.txt').readlines()
     line=''.join(line)
     outfile.write(line)
     outfile.write("\n")

     infile.close()
     outfile.close()

output()
output1()
output2()

Это мой код, если у вас есть какие-либо идеи, пожалуйста, помогите мне !!

1 Ответ

0 голосов
/ 13 февраля 2019

Я не знаю, почему вы хотите переставить строки для выбора 6 случайных строк.Я думаю, что под перестановкой вы имеете в виду тасование.Перестановка из 10 линий даст вам 3628800 комбинаций линий.Поэтому я даю решение случайно выбрать 6 строк из 10 строк и записать их в файл.

outputa1.txt:

  1. Это файл 1
  2. Это foo
  3. Это конец файла 1

outputa2.txt

  1. Это файл 2
  2. Это строка
  3. Это конец файла 2

outputa3.tx

  1. Это файл 3
  2. Это база
  3. Это конец файла 3
  4. Вот и все

Теперь эти три файла вместе будут иметь 10 строк.

import random
combined_lines = []
f = open('outputa1.txt','r')
for line in f:
    combined_lines.append(line+'\n')
f.close()
f = open('outputa2.txt','r')
for line in f:
    combined_lines.append(line+'\n')
f.close()
f = open('outputa3.txt','r')
for line in f:
    combined_lines.append(line+'\n')
f.close()
#To choose randomly 6 lines from the file
random.shuffle(combined_lines)
f = open('outputa.txt','x')
f.writelines(combined_lines[:6])
f.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...