Je test le script sous Windows, comme l'a si bien fait remarqué Sakarov

from Tkinter import * import tkMessageBox def verifAuth(): login = str(entr1.get()) mdp = str(entr2.get()) passFile = open('users.txt') i = 0 for line in passFile.readlines(): if ":" in line: user = line.split(':')[0] Pass = line.split(':')[1].strip(' ').strip('\n') if login == user and mdp == Pass: lbl3.config(text = 'authentification OK', fg ='green') tkMessageBox.showinfo(title='authentification', message="connexion reussie") break elif i >= 8: lbl3.config(text = 'erreur d\'authentification', fg = 'red') tkMessageBox.showinfo(title='authentification', message="login ou mot de passe invalide") else: pass i = i+1 def effacer(): entr1.delete(0, END) entr2.delete(0, END) fen1 = Tk() txt1 = Label(fen1, text = 'Login :') txt2 = Label(fen1, text = 'Password :') lbl3 = Label(fen1) entr1 = Entry(fen1) entr2 = Entry(fen1, show="*") b= Button(text='connexion', command=verifAuth) b1 = Button(text='abandon', command= effacer) b.grid(row =2) b1.grid(row =2, column =2) txt1.grid(row =0) txt2.grid(row =1) lbl3.grid(row =5) entr1.grid(row =0, column =1) entr2.grid(row =1, column =1) fen1.mainloop()
FILE = 'users.txt' with open(FILE, 'r') as f: lines = [line.strip('\n') for line in f.readlines()] for line in lines: user, Pass = line.split(':') if login == user and mdp == Pass: # suite du code
Commentaire