创建一个填充自定义格式文本的文本文件

爱可

我正在尝试创建一个密码列表,其中包含以下格式的所有组合:

3 个字符 2 个数字 3 个字符

例子: aaa00aaa bbb11bbb

我创建了一个代码,它使用较小的字符数组执行此操作,但是当我尝试使用 ASCII 系统中的所有字符时,代码会出现内存错误。

import string

numbers = ["0","1","2","3","4","5","6","7","8","9"]
characters = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]

characterCombs = []
numbCombs = []
allCombs = []

for el1 in characters:
    for el2 in characters:
        for el3 in characters:
            characterCombs.append(el1+el2+el3)

for n1 in numbers:
    for n2 in numbers:
        numbCombs.append(n1 + n2)

for ch1 in characterCombs:
    for no in numbCombs:
        for ch2 in characterCombs:
            allCombs.append(ch1+no+ch2)
for i in allCombs:
    f.write(i+"\n")
f.close()

有没有办法优化这段代码,或者我应该改变我的方法并找到不同的方法来组合所有这些字符?

奥马尔·阿弗拉克

您可以使用 pythonitertools模块生成组合。

from itertools import permutations

numbers = ["0","1","2","3","4","5","6","7","8","9"]
characters = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"]

for a in permutations(characters, 3):
    for b in permutations(numbers, 2):
        for c in permutations(characters, 3):
            print("".join(a + b + c))

虽然这将花费相当多的时间......


此外,您不需要保留所有生成的密码的列表。您可以在生成密码时将密码写入 for 循环内的文件中。


编辑:

正如@Andreas 在下面提到的,它确实应该是所有的排列(不是组合)。我更新了代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java中创建一个填充有随机整数的文本文件

创建一个空的文本文件

如何在C ++中读取自定义格式的文本文件

使用Java格式化文本文件内容后,如何读取文本文件内容并写入另一个文本文件?

文本文件中的Argparse自定义帮助

保存自定义设置文本文件的位置?

命令从文本复制一行并创建一个新的文本文件

从文本文件中读取行并为每行中的每个名称创建一个文本文件

Vbs创建一个文本文件,并在其中写入文本

如果不存在则创建一个文本文件,如果使用Java BufferedWriter则创建一个文本文件

将大量文本文件转换为一个大文本文件

将多个文本文件合并为一个文本文件?

将文本文件合并为一个文本文件

将一个文本文件拆分为多个文本文件 nodejs

如何从2个单独的文本文件中创建一个组合列表?

在文件夹中创建一个文本文件

从一个文本文件创建多个txt文件

从文本文件读取,创建另一个文件

使用 spring 加载一个文本文件,其位置定义为 spring el

读取一个简单的文本文件

如何打开一个文本文件

多个python脚本一个文本文件

在文本文件内添加一个空行

将文本文件合并为一个

使用heredoc创建一个新的文本文件

通过在文本文件中搜索 [ ] 创建一个列表

创建一个文本文件并将其显示在桌面上

创建一个将文本文件作为参数的函数

从文本文件读取数据并创建一个对象