Найти слово в текстовом файле - PullRequest
0 голосов
/ 12 марта 2019

Я пытался создать небольшой взломщик паролей только для себя.Проблема в том, что программа всегда говорит мне: Password not found! Я использую текстовый файл с одним словом в строке!

pw = "password"

# The password in the list is "password"

pwlist = open('passwordlist.txt', 'r')
words = pwlist.readlines()
found = False

for password in words:
    if str(password) == pw:
        print(password)
        found = True
        break


if found == True:
   print("password found!")
else:
   print("Password not found!")

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Метод readlines() не удаляет в конце строки возврат каретки. Попробуйте

if password.strip() == pw: 
0 голосов
/ 12 марта 2019

Метод readline() подбирает символ новой строки в конце каждой строки \n (escape-последовательность новой строки).

Вы заметите, что если вы откроете свой текстовый файл, это на самом деле две строки, вторая строка просто имеет длину 0.

Итак, чтобы это работало, вам нужно заменить:

words = pwlist.readlines()

С этим:

words = [line.rstrip('\n') for line in pwlist]
0 голосов
/ 12 марта 2019

Этот код выглядит так, как будто он должен работать нормально ... Можете ли вы подтвердить, что слово в файле .txt действительно "пароль" (пишется одинаково, без лишних символов / пробелов и т. Д.)?

...