Python: Как мне сохранить что -то, что напечатано в терминале в качестве переменной для сравнения позже?

StackOverflow https://stackoverflow.com/questions/5300134

  •  22-10-2019
  •  | 
  •  

Вопрос

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. Что я хочу сделать, так это то, что если оператор верен, чтобы отправить сигнал в последовательный порт.

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

Это было полезно?

Решение

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

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".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top