2017-02-20 9 views
1

Ich lerne Python und ich versuche, ein einfaches Login-Programm für ein größeres Projekt zu machen.Identische Zeichenfolgen stimmen nicht überein?

Dieser Code:

def _login():#Login Function 
     username = input("Username:\n") 
     password = input("Please enter your password:\n") 
     with open("logins", "r") as log: 
      for line in log: 
      compound = str(username + password) 
      a = line 
      b = str(re.sub(':', '', a)) 
      if a == compound: 
       print("Success") 
_login() searches through a text file where **user:pass** are on individual lines displayed as such in the bold text. 

Dies ist dann die Zeichenfolge Ihrer Eingabe Benutzername und Passwort erfolgt, concats es und macht das gleiche mit den Benutzernamen/gibt Datei, befreien den „:“, die gefiltert wird über Regex.

Das Problem:

Die Zeichenkette kombiniert, dass die Benutzereingaben (var Verbindung) und die gefilterte Zeichenkette aus der Textdatei (var a) kehrt nicht wahr, wenn verglichen, auch wenn sie beide gleich Benutzer sind "UserPass"

Wie würde ich das beheben?

Prost

+0

Haben Sie versucht, den Ausdruck jeder Zeichenfolge zu drucken? Ich denke, Sie werden feststellen, dass sie nicht gleich sind, wie Ihnen der Dolmetscher sagt. – TigerhawkT3

+0

Ah Mist, ich habe geschrieben() ...: P – Kris

+0

Ich habe es DANKE LOL! Die Passwörter in der Datei enthielten eine Instanz von "\ n"! – Kris

Antwort

0

Sieht aus, als ob Sie bereits eine Antwort gefunden haben. Aber ich möchte sagen, dass Sie lieber "b" für den Vergleich anstelle von "a" verwenden. Weil Sie aus irgendeinem Grund ":" entfernt haben sollten. :)

+0

......... verdammt noch mal Es ist repl.it ... Chromebooks und Betas! Macht schlechte Lesbarkeit. Danke lol – Kris

Verwandte Themen