在文本文件中查找单词

时间:2019-03-12 13:52:57

标签: python file passwords text-files word

我试图为自己创建一个小的密码破解程序。 问题在于该程序始终告诉我: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 :(得分:0)

此代码看起来应该可以正常工作……可以确认.txt文件中的单词确实是“密码”(拼写相同,没有多余的字符/空格等)吗?

答案 1 :(得分:0)

方法readlines()不会从行中去除尾随回车符。尝试

if password.strip() == pw: 

答案 2 :(得分:0)

readline()方法在每行\n(新行转义序列)的末尾拾取换行符。

您会发现,如果打开文本文件,实际上是两行,第二行的长度为0

因此,要使其正常工作,您需要替换:

words = pwlist.readlines()

与此:

words = [line.rstrip('\n') for line in pwlist]