Python: Как сохранить то, что напечатано в терминале, в качестве переменной для последующего сравнения? - PullRequest
2 голосов
/ 14 марта 2011
import imaplib
import pprint

IMAP_SERVER='imap.gmail.com'
IMAP_PORT=993

M = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
rc, resp = M.login('user@gmail.com', 'password')
print rc, resp

M.select()
for msg_num in M.search(None, "UNDELETED")[1][0].split():
    msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
    print msg[1][0][1][139:161]

M.close()         
M.logout()

Я новичок в программировании на Python, и приведенный выше код на Python используется для программы, которую я хочу сделать.Когда я запускаю это в терминале, я получаю ответ, что я аутентифицировал свою учетную запись, и затем он отображает сообщение между символами 139 и 161, которое является следующим в примере электронной почты:

Это просто тест...

Распечатывается в терминале.Я хочу взять распечатку и сравнить ее с чем-то другим.Например: если a = b, то x.То, что я хочу сделать, это то, что если утверждение верно, чтобы отправить сигнал на последовательный порт.

Любая помощь ценится и ожидается благодаря всей этой помощи ...

1 Ответ

2 голосов
/ 14 марта 2011

Просто назначьте сообщение переменной, прежде чем распечатать его:

for msg_num in M.search(None, "UNDELETED")[1][0].split():
    msg = M.fetch('1', '(BODY.PEEK[TEXT])') 
    a = msg[1][0][1][139:161]
    print a

# later..
if a == 'this is just a test...':
   # your code here
   pass

Очевидно, вы должны использовать более значимое имя переменной, чем "a".

...