KeyError:'\n'Python,字符串变异Gen

2024-10-03 02:41:22 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我已经创建了一些代码,可以打印密码突变。但是,我很难让它从一个文本文件中读取多个密码,其中包含许多常用密码。这是我的代码:

from itertools import product
for password in commonpasswords:
    allPossible = list(mapping[letter] for letter in password)

我不知道为什么会出错,我基本上希望它一次读取文本文件中的每一个条目,执行尽可能多的变异,然后转到下一个。文件只包含小写单词,每个条目都在单独的行上。谢谢。在

编辑:我在创建总计时也遇到了问题,我在循环的末尾添加了以下代码,删除了两个打印函数:

^{pr2}$

然而这似乎不起作用,总的突变数就是我要的。谢谢。在


Tags: 代码infromimport密码for条目password
2条回答
for password in commonpasswords:
    password = password.rstrip('\n')

每当您从文件中读取任何行时,它都会自动在结尾处提取\n字符。因此,您必须先将\n去掉。 在循环的开始处添加一行,password.strip('\n'),如下所示

for password in commonpasswords:
    password = password.strip('\n')

(或者因为它总是你能做的最后一个词password[:-1],就像allPossible = list(product(*([letter] + mapping[letter] for letter in password[:-1)))中一样)

相关问题 更多 >