【问题标题】:How can I generate permutation list and write file如何生成排列列表并写入文件
【发布时间】:2019-02-13 05:37:26
【问题描述】:

我写过句子,想把它们组合在一起,但要按排列顺序。 每个句子都存储在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))

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

但问题是,因为只有 output() 包含outfile=open("outputone.txt","w") 代码,在 def output1() 中,它无法识别 outputone。但是如果我在所有的def中添加outfile=open("outputone.txt","w"),则只出来了一句话,没有合并。

如果我删除 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()

【问题讨论】:

    标签: python file-io output permutation


    【解决方案1】:

    问题出在这一行:

    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)
    

    【讨论】:

    • 天哪,你是我的救世主!!!!非常感谢!!!!!!!!!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2010-09-11
    • 1970-01-01
    • 2020-04-20
    • 2011-02-23
    相关资源
    最近更新 更多