Python Tkinter生成一个列表框中每个条目的随机"密码"?

2024-07-08 12:01:29 发布

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

我正在尝试创建一个密码生成器,它为列表框中的每一行创建一个新密码,我有一个填充了名称的列表框,我正在尝试获取一个循环,它将计算列表中有多少个名称,并为每一个创建一个密码。我有密码生成器,我只是想弄清楚循环会是什么样子。在

这是我到目前为止的情况。在

from tkinter import *
import os, random, string

appWin = Tk() #the main application window
lstBoxArray = [] #an atrray to hold all the listboxes

def passWord():
    length = 8
    chars = string.ascii_letters + string.digits
    random.seed = (os.urandom(1024))
    psword = ''.join(random.choice(chars) for i in range(length))
    print(psword)
    #this section generates a random 'code' which is the password
    #at the moment it is still a stub hence the print command at the end.

stdName = Listbox(frm) #listbox populated by names
stdUserName = Listbox(frm) #listbox where a login username is shown
stdPass = Listbox(frm) #listbox where the passwords will be placed
lstBoxArray = [stdName, stdUserName, stdPass]

scrBar.config(command=setlstBoxYview)          ##
stdName.config(yscrollcommand=scrBar.set)
stdUserName.config(yscrollcommand=scrBar.set)
stdPass.config(yscrollcommand=scrBar.set)
                                              # these are just configuring the listboxs
stdName.grid(column=1,row=0,sticky='NS')
stdUserName.grid(column=4,row=0,sticky='NS')
stdPass.grid(column=5,row=0,sticky='NS')
scrBar.grid(column=6,row=0,sticky='NS')
frm.rowconfigure(0,weight=1)                  ##

所以基本上,我的stdName列表框填充了大约28个名称,它与stdUserName列表框相同。 我想做一个循环来计算有多少个名字,并为每个名字创建一个密码。在

像这样。

^{pr2}$

^^这显然不是代码,但这正是我想要得到的^^ 我的目标是将passGen链接到一个按钮。 我没有包括我的所有代码,因为它不是真正的相关,但帮助与此将不胜感激。在

对不起,如果有任何拼写错误,我不是以英语为母语的人。在


Tags: theconfig密码columnrandomgridrowns
1条回答
网友
1楼 · 发布于 2024-07-08 12:01:29

假设您编辑passWord的最后一行以返回密码(而不是打印它), passGen简单到:

def passGen():
     for i in range(stdName.size()):
        stdPass.insert(END, passWord())

创建与名称计数相同的密码数足以保证您将拥有相同的密码数。在

如果您认为它是填充password列以匹配name列计数,while循环可以更好地反映您的意图:

^{pr2}$

相关问题 更多 >

    热门问题