我正在處理來自我的thunderbird imap目錄的大型(120mb)文本文件,並嘗試使用mbox和正則表達式從頭信息中提取信息。該進程運行一段時間,直到我最終得到一個異常:「TypeError:預期的字符串或緩衝區」。用Python處理文本文件時的預期字符串或緩衝區
異常引用該代碼的第五行:
PAT_EMAIL = re.compile(r"[0-9A-Za-z._-]+\@[0-9A-Za-z._-]+")
temp_list = []
mymbox = mbox("data.txt")
for email in mymbox.values():
from_address = PAT_EMAIL.findall(email["from"])
to_address = PAT_EMAIL.findall(email["to"])
for item in from_address:
temp_list.append(item) #items are added to a temporary list where they are sorted then written to file
我已經在其他(較小)文件運行的代碼,所以我猜這個問題是我的文件。該文件似乎只是一堆文本。有人能指出我的寫作方向來調試嗎?
在失敗的迭代中檢查'type(email [「from」])'''。 – 2013-02-26 03:51:08
你可以發佈你的'findall'方法的代碼嗎? – eazar001 2013-02-26 04:12:46
增加了findall方法來發布。 – spatialaustin 2013-02-26 05:46:03