У меня возникла проблема, которую я просто не смог решить. Проще говоря, у меня есть 2 текстовых файлов, один является hashes_found, который находится в форматеPython line.split (':') len is 2, но все еще значение Ошибка
uncrackedHash:crackedHash
и второй файл, email_list в формате:
email:uncrackedHash
Теперь я пытаюсь сделать, это распечатать сообщение электронной почты и взломать хэш, если неотображенный хеш - то же самое.
Ошибка я получаю это:
email, uncracked = i.split(':')
ValueError: too many values to unpack
все же LEN (я) = 2
Кроме того, я знаю, что мои открытия файлов необычна и плохая практика, это не должно влиять на код. Именно так я узнал Python 2 года назад, и я войду в это соглашение, как только узнаю правильный путь.
hashes_found = open('hashes_found.txt', 'r')
email_list = open('email_list.txt', 'r')
for i in email_list:
i = i.strip()
email, uncracked = i.split(':')
for j in hashes_found:
j = j.strip()
try:
uncracked_2, cracked = j.split(':')
except Exception,e:
print e
continue
if uncracked == uncracked_2:
print email, ':', cracked
else:
continue
Возможно, у вас есть пустые строки в файле? – warvariuc
Несвязанная, но критическая ошибка: если вы повторяете многомерный файл, все итерации после первого будут выглядеть пустыми. Таким образом, внутренний цикл 'for' будет терпеть неудачу почти каждый раз. – user2357112
len (i.split (':')) = 2 Спасибо за ответы, как вы обходите пустые строки? Разве это не то, для чего предназначена попытка/исключение? – PelagicHacker