Отсутствует позиционный аргумент "pw_len" при генерации пароля в tkinter - PullRequest
0 голосов
/ 22 мая 2018

Я хочу создать пароль в новом окне (при нажатии кнопки), используя 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 голосов
/ 22 мая 2018

Когда вы нажимаете кнопку создания пароля, tkinter вызывает вашу функцию generate_password без каких-либо аргументов, и вы ожидаете ее.
Здесь простое решение:

create = tkinter.Button(root, pady=2, height=3, text="create password", command= lambda: generate_password(10))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...