Python itertools 排列将输出保存在 .txt 文件中

问题描述

我正在寻找一种方法获取我在此处打印的输出写入 .txt 文件

for y in list(permutations(sllist,3)):
        print("".join(y))

控制台中的输出如下所示:

ccccaaaaaaaabbbbdddddddddd
ccccaaaaaaaabbbbeeeeeee
ccccaaaaaaaabbbbfff
ccccaaaaaaaabbbbgggggggggggg
ccccaaaaaaaabbbb2001
ccccaaaaaaaabbbb01
ccccaaaaaaaabbbb06

这正是我想在 .txt 文件中写入它的方式。彼此之间整齐排列。 提前致谢。

解决方法

使用上下文管理器打开文件,这样它会自动正确关闭,即使里面的代码引发异常。

正如评论中所指出的,不需要在内存中创建整个列表,您可以遍历 permutations 返回的对象,然后根据需要生成每个元素。

from itertools import permutations

sllist = "abcd"

with open("output.txt","w") as f:
    for y in permutations(sllist,3):
        line = "".join(y)
        print(line)
        f.write(f"{line}\n")

干杯!

,
for y in list(permutations(sllist,3)):
        print("".join(y))
        for i in y:
            f = open("some.txt","a")
            f.write(i + '\n',)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...