繁体   English   中英

如何生成排列列表并写入文件

[英]How can I generate permutation list and write file

我已经写了一些句子,想将它们组合在一起,但是要按排列顺序。 每个句子存储在outputa1.txt outputa2.txt outputa3.txt ,合并的语句将存储在outputone.txt中。

我找到了排列码

a=itertools.permutations(["output()","output1()","output2()"],2)
b=str(random.choice(list(a)))
outfile.write(str(b))

我相信这段代码可以帮助我完成代码。

但是问题是,因为在def output1()中只有output()包括outfile=open("outputone.txt","w")代码,所以它无法识别outputone。 但是,如果我将outfile=open("outputone.txt","w")到所有def中,则只会出现一个句子,而不是合并在一起。

如果删除def,则可以编写代码,但会丢失排列顺序。

我知道这段代码,我的英语水平很马虎,因为我没有书就独自学习了它们。

请任何人提高我的python技能。.我将非常感谢!

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

问题是在这一行:

outfile=open("outputone.txt","w")

您需要以附加模式打开此文件: outfile=open("outputone.txt","a")在功能'输出'上,您错过了outfile.write(line)

为了清楚起见,我将编写一个辅助函数以将文件追加到另一个文件。 当您使用带语句的文件时,要获取更多信息, 访问: https : //docs.python.org/3/reference/compound_stmts.html#the-with-statement

def append_to(source, output):
    with open(source, 'r') as source_file:
        rows = source_file.readlines()
        s = '\n'.join(rows)

    with open(output, 'a') as output_file:
        output_file.write(s)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM