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
".
不隶属于 StackOverflow