有没有办法在文本文件中逐行写入这种类型的排列?

问题描述 投票:0回答:1

我有此代码:

import itertools
import string
variations = itertools.permutations(string.printable, 1)
for v in variations:
    text_file = open("Output.txt", "w")
    text_file.write(''.join(v))
    text_file.close()

但是它不起作用。当我运行.py文件时创建了Output.txt,但是当我打开它时,我看到了一个向上箭头。我想看到这样的输出:

1
2
3
4
...
python python-3.x permutation
1个回答
0
投票

您将以w模式在每次迭代中打开和关闭文件,这意味着该文件在每次otation时都会被截断,这反过来意味着该文件将始终仅包含您最后写入的内容。

您应该在循环之前打开文件一次,并在循环之后关闭文件一次。最佳做法是使用with上下文管理器(使用Google来查找更多信息),它将为您处理文件的打开和关闭。

import itertools
import string
variations = itertools.permutations(string.printable, 1)

with open("Output.txt", "w") as f:
    for v in variations:
        f.write(''.join(v))
© www.soinside.com 2019 - 2024. All rights reserved.