![](/img/trans.png)
[英]How can I generate a permutation of a list of lists while maintaining order on the highest level in Python?
[英]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.