Python 如何检查一个文档中的一行是否应用于同一行,但在另一个文档中

Python 如何检查一个文档中的一行是否应用于同一行,但在另一个文档中,python,function,tkinter,Python,Function,Tkinter,我以前的问题在某些地方通过使用类而不是函数得到了解决。但仍然存在一个问题。如果一个文档中的一行应用于同一行,但在另一个文档中,如何检查?我已经试过了,它什么也没做,也没有给我错误代码 由于调用函数时未传递这两个变量regEnterpass,regEnteruser 由于我在平板电脑上,所以无法进行测试,但以下操作是否有效?通过创建一个类来存储这两个变量,并在调用时使用它们 更新:您可以读取init中的文本文件并将其存储为字典 class Logging1(object): def __

我以前的问题在某些地方通过使用类而不是函数得到了解决。但仍然存在一个问题。如果一个文档中的一行应用于同一行,但在另一个文档中,如何检查?我已经试过了,它什么也没做,也没有给我错误代码


由于调用函数时未传递这两个变量
regEnterpass,regEnteruser

由于我在平板电脑上,所以无法进行测试,但以下操作是否有效?通过创建一个类来存储这两个变量,并在调用时使用它们

更新:您可以读取init中的文本文件并将其存储为字典

class Logging1(object):

    def __init__(self, enteruser, enterpass):
        self.enteruser = enteruser
        self.enterpass = enterpass
        
        ## open usernames.txt and get usernames
        with open("usernames.txt", "r") as users_file:
            users = [user for user in users_file]

        ## open password.txt and get passwords
        with open("passwords.txt", "r") as password_file:
            passwords = [password for password in password_file]
        
        ## combine and store them in a dictionary 
        self.users_dict = dict(zip(users, passwords))

    def __call__(self):
        entered_user = self.enteruser.get() ## get entered username
        
        if self.users_dict.has_key(entered_user): ## valid username
            entered_pw = self.enterpass.get() ## get entered password
            
            stored_pw = self.users_dict[entered_user]
            
            if entered_pw == stored_pw: ## correct username and pw
                logged = Label(root, text="Successful login!")
                logged.grid(row=5, column=1)
            else: 
                pass ## incorrect password
                
        else: pass ## not a valid username
        
def register():

    regUsername = Label(root, text="Set username: ")
    regUsername.grid(row=0, column=0)
    regEnteruser = Entry(root)
    regEnteruser.grid(row=0, column=1)

    regPassword = Label(root, text="Set password: ")
    regPassword.grid(row=1, column=0)
    regEnterpass = Entry(root)
    regEnterpass.grid(row=1, column=1)
    
    registering1 = Logging1(regEnterpass, regEnteruser) ## create Registering1 object

    buttonreg = Button(root, text="Register", padx="30", pady="5", command=registering1)
    buttonreg.grid(row=2, column=1)

    return regEnterpass and regEnteruser

“这段代码可能有很多错误,因为我是一个乞丐”,这是正确的,Stackoverflow是一个针对特定编程问题的问答平台。这个问题离题了。您应该使用调试器逐行检查代码,分析每个问题,并针对无法解决的每个问题提出特定问题。提示:
username1和passwords2
没有达到预期效果。使用
打开文件,打开(…)为…:
buttonreg=Button(root,text=“Register”,padx=“30”,pady=“5”,command=registering1)
无参数调用函数
registering1
。这解决了我的主要问题,非常感谢。我不想使用类,但它们比人们想象的有用得多。这项工作?顺便说一句,我不会在txt文档中存储密码,这只是一个黑客补丁,可以让您的代码按照当前设置的方式工作,不确定您是否每次都想打开文本文档谢谢您的时间,这帮了我很多忙!
class Logging1(object):

    def __init__(self, enteruser, enterpass):
        self.enteruser = enteruser
        self.enterpass = enterpass
        
        ## open usernames.txt and get usernames
        with open("usernames.txt", "r") as users_file:
            users = [user for user in users_file]

        ## open password.txt and get passwords
        with open("passwords.txt", "r") as password_file:
            passwords = [password for password in password_file]
        
        ## combine and store them in a dictionary 
        self.users_dict = dict(zip(users, passwords))

    def __call__(self):
        entered_user = self.enteruser.get() ## get entered username
        
        if self.users_dict.has_key(entered_user): ## valid username
            entered_pw = self.enterpass.get() ## get entered password
            
            stored_pw = self.users_dict[entered_user]
            
            if entered_pw == stored_pw: ## correct username and pw
                logged = Label(root, text="Successful login!")
                logged.grid(row=5, column=1)
            else: 
                pass ## incorrect password
                
        else: pass ## not a valid username
        
def register():

    regUsername = Label(root, text="Set username: ")
    regUsername.grid(row=0, column=0)
    regEnteruser = Entry(root)
    regEnteruser.grid(row=0, column=1)

    regPassword = Label(root, text="Set password: ")
    regPassword.grid(row=1, column=0)
    regEnterpass = Entry(root)
    regEnterpass.grid(row=1, column=1)
    
    registering1 = Logging1(regEnterpass, regEnteruser) ## create Registering1 object

    buttonreg = Button(root, text="Register", padx="30", pady="5", command=registering1)
    buttonreg.grid(row=2, column=1)

    return regEnterpass and regEnteruser