Python: Как мне сохранить что -то, что напечатано в терминале в качестве переменной для сравнения позже?
-
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
".