2012-02-20 2 views
0

Я нашел этот скрипт python в metafilter и изменил адреса и передал их по необходимости, но я получил ошибку сценария в последней строке. В ошибки маленький символ Карат под котировке после печати «\ пОшибка синтаксиса Python в сценарии извлечения адреса электронной почты

Не будучи кодировщик вообще, я понятия не имею, куда обратиться дальше. Любая помощь будет принята с благодарностью.

Что я на самом деле нужно сделать, это вытащить «из» адресов и не и CC, но я полагал, что я хотел бы получить эту работу должным образом первый.

Сценарий был запущен в Windows, используя Python 3.2 и перенаправлен вывод в текстовый файл.

import email 
import getpass 
import imaplib 

HOST = "mail.-----.com" 
USER = "[email protected]" 
FOLDER = "Folder" 

connection = imaplib.IMAP4_SSL(HOST) 
res, data = connection.login(USER, getpass.getpass()) 
assert res == "OK" 

res, count = connection.select(FOLDER) 
assert res == "OK" 

res, (msg_nums,) = connection.search(None, "ALL") 
assert res == "OK" 

for msg_num in msg_nums.split(): 
    res, message_text = connection.fetch(msg_num, "(RFC822)") 
    assert res == "OK" 

    message = email.message_from_string(message_text[0][1]) 
    tos = message.get_all("From") or [] 
    ccs = message.get_all("Cc") or [] 
    all_recipients = email.Utils.getaddresses(tos + ccs) 
    print "\n".join(addr.lower() for realname, addr in all_recipients) 

ответ

3

print i S функция в Python 3, поэтому он должен быть:

print("\n".join(addr.lower() for realname, addr in all_recipients)) 

Сценарий был, вероятно, первоначально написана для использования с Python 2.x.

+0

Да, я просто заметил, что он был написан в 2006 году, поэтому я пробовал несколько разных версий с разными ошибками. Теперь, после внесения этих изменений и запустить его с питоном 32 снова, я получаю: Traceback (самый последний вызов последнего): Файл « email2.py», строка 14, в утверждают, Рез == «OK» AssertionError – user1221425

+0

Звуки так как он не получает желаемого ответа от почтового сервера. Боюсь, я не могу помочь отладить его. – kindall

Смежные вопросы