我有这个密码:
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
...
另一种方式:
如上所述,有更好的方法。每次迭代都要打开文件,只打开一次。v是一个元组
('1',)
等,因此需要索引第一个元素您在每次迭代中都是以
w
模式打开和关闭文件,这意味着每次迭代文件都会被截断,这又意味着它将始终只包含您最后写入它的内容您可以使用
a
模式,a出现在文件中更好的方法是在循环之前打开一次文件,在循环之后关闭一次
最佳实践是使用
with
上下文管理器(google这个词来查找更多信息),它将为您处理文件的打开和关闭请注意,我在每行的末尾添加了
\n
,因为我假设您希望每一个排列都在一行中相关问题 更多 >
编程相关推荐