我遇到了一個我只是無法解決的問題。很簡單,我有2個文本文件,一個是處於Python line.split(':')len是2,但仍然是值錯誤
uncrackedHash:crackedHash
格式和第二個文件hashes_found,EMAIL_LIST是格式爲:
email:uncrackedHash
現在我想做要做的是打印出電子郵件和破解散列,如果未破解散列相同。
我不斷收到的錯誤是:
email, uncracked = i.split(':')
ValueError: too many values to unpack
尚LEN(I)= 2
而且,我知道我打開文件是非常規的和不好的做法,它不應該影響代碼雖然。這正是我2年前學習Python的方式,並且一旦我學會了正確的方法,我就會深入瞭解這個習慣。
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 2014-11-01 19:21:46
無關但重要的錯誤:如果您重複循環訪問文件對象,則第一個之後的所有迭代都會將其視爲空。因此,內部for循環幾乎每次都會失敗。 – user2357112 2014-11-01 19:23:47
len(i.split(':'))= 2感謝您的答案,那麼您如何繞過空行呢?這不是什麼嘗試/除了是什麼? – PelagicHacker 2014-11-01 19:24:19