You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

生成密码字典脚本报错:NameError: name 'permutations' is not defined

解决Python密码字典脚本中permutations未定义的错误

嘿,这个错误其实很好搞定!你看到的NameError: name 'permutations' is not defined,本质是因为permutations并不是Python的内置函数——它藏在itertools这个标准库模块里,你的脚本没导入它,Python自然不知道这个名字指的是什么。

给你两种修复方案,选哪种都可以:

方案1:导入整个itertools模块

在脚本最开头加上导入语句,调用的时候带上模块名就行:

#!/usr/bin/python
import itertools  # 新增这行导入代码

# 定义已知的密码前缀
prefix = ['begin', 'Begin']
# 待遍历的序列列表
sequences = ['seq1', 'Seq1', 'SEQ1', 'se2', '!', '123', '555', '103', '_']

# 后续循环里改成这样调用
# for p in itertools.permutations(stuff, x):

方案2:直接导入permutations函数

如果你的脚本里只用到这个函数,直接导入它更省事,原来的循环代码不用改:

#!/usr/bin/python
from itertools import permutations  # 直接导入目标函数

# 定义已知的密码前缀
prefix = ['begin', 'Begin']
# 待遍历的序列列表
sequences = ['seq1', 'Seq1', 'SEQ1', 'se2', '!', '123', '555', '103', '_']

# 原来的循环代码保持不变即可
# for p in permutations(stuff, x):

小提醒:如果之后你还需要用itertools里的其他工具(比如生成组合的combinations),选方案1会更方便;要是只用到permutations,方案2的代码会更简洁。

内容的提问来源于stack exchange,提问作者user9714678

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:20:22