缺少位置参数" pw_len"在tkinter中生成密码时

时间:2018-05-22 11:02:06

标签: python tkinter

我希望使用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)

但是,我遇到以下错误:

  

TypeError:generate_password()缺少1个必需的位置参数:' pass_len'

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

当您按下创建密码按钮时,tkinter会在没有任何参数的情况下调用您的generate_password函数,并且您可以使用它。 这是一个简单的解决方案:

create = tkinter.Button(root, pady=2, height=3, text="create password", command= lambda: generate_password(10))