2017-02-20 12 views
1

私はPythonを学んでおり、私は大きなプロジェクトのための簡単なログインプログラムを作ろうとしています。同一の文字列は一致しませんか?

このコード:濾過される:「」そして、あなたの入力のユーザー名とパスワードの文字列を受け取り、それをconcatsし、ユーザ名と同じことを/ファイルに渡すこの

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. 

、免除正規表現を介して。

問題:ユーザ入力(VAR 化合物)とテキストファイル(VAR )からのフィルタリング文字列がtrueを返さないこと

組み合わせた文字列両方がユーザーと等しい場合でも比較されます"UserPass"

これをどのように修正できますか?

乾杯

+0

各文字列の 'repr'を印刷しましたか?私は、通訳があなたに言うように、彼らは平等ではないことが分かると思います。 – TigerhawkT3

+0

ああ、私はタイプ()をしました:P – Kris

+0

私はあなたを大喜びしました!ファイルのパスワードには「\ n」のインスタンスが含まれています! – Kris

答えて

0

あなたはすでに回答を見つけたようです。 しかし、 'a'の代わりに 'b'を比較する方が良いと言いたいと思います。 何らかの理由で ':'を削除したはずです。 :)

+0

.........それはrepl.it ... ChromebookとBetas!読みにくいありがとうLOL – Kris

関連する問題