python - 在 tkinter 中生成密码时缺少位置参数“pw_len”
问题描述
我正在寻找使用带有此代码的 tkinter 在新窗口中(按下按钮时)生成密码:
import math, random, os, string, tkinter, tkinter as tk
def generate_password(pass_len):
symbols = "!$%^&*()-_=+QWERTYUIOPASDFGHJKLZXCVBNM1234567890qwertyuiopasdfghjklzxcvbnm"
genpw = ''.join([symbols[math.floor(int(i) / 256 * len(symbols))] for i in os.urandom(pass_len)])
print(genpw)
create = tkinter.Button(root, pady=2, height=3, text = "create password", command = generate_password)
但是,我遇到以下错误:
类型错误:generate_password() 缺少 1 个必需的位置参数:'pass_len'
任何帮助是极大的赞赏。
解决方案
当您按下创建密码按钮时,tkintergenerate_password
不带任何参数调用您的函数,并且您的函数期望一个。
这里有一个简单的解决方案:
create = tkinter.Button(root, pady=2, height=3, text="create password", command= lambda: generate_password(10))
推荐阅读
- react-native - 从 Android 移除 SafeAreaView
- node.js - 用另一个库模仿节点中的 openssl 调用
- c - C 中的过滤器程序不适用于更复杂的图像
- python - 在python中根据它们内部的特定键合并这两个json对象?(请查看示例)
- lua - 我需要帮助从 StarterGUI 中的脚本为 Lua 中的角色创建一个变量
- cors - 将 Cors-Anywhere 更改为节点获取
- android - 翻屏android时保存ViewModel
- python - 如何创建具有单个序列元素的序列?
- neo4j - 如何计算节点的不同计数
- php - 如何组合具有相同元素值的数组