如何将3个txt文件合并到一起

2024-04-25 14:30:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我制作了3个文本文件,里面有1到2个句子

我知道如何读取txt文件中的行并将它们合并在一起

我不知道如何组合所有的句子

如果句子是A、B、C

结果可能是A B C或A C B或C B A或B C A

我有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()

这些是我的代码如果你有任何想法请帮助我


Tags: txtcloseoutputdeflineopeninfileoutfile
1条回答
网友
1楼 · 发布于 2024-04-25 14:30:05

我不知道您为什么要排列选择6条随机线的线。我认为排列是指洗牌。10行的排列将提供3628800行的组合。所以我给出了一个解决方案,从10行中随机选择6行,并将其写入一个文件

output1.txt:

  1. 这是文件1
  2. 我是福
  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()

相关问题 更多 >