如何在python中获取while循环以进行更新

ig9co6j1  于 2022-10-30  发布在  Python
关注(0)|答案(2)|浏览(140)

我在一个项目中使用了一个while循环,但它没有得到任何更新,我不得不关闭它,然后再打开它。有没有办法让它更新?
下面是代码:

import imaplib
username ="example@gmail.com"
app_password= "example"
gmail_host= 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(gmail_host)
mail.login(username, app_password)
mail.select()
_, selected_mails = mail.search(None, 'ALL')
while True:
    print({len(selected_mails[0].split())})

输出量:

{19}
{19}
{19}
{19}
{19}
{19}
{19}
{19}
{19}
{19}
{19}
...

因此,输出为{19},这意味着我的收件箱中当前有19封电子邮件,但当我向自己发送一封电子邮件时,它不会更新为{20}。
如何让它更新(与当前代码)?

k7fdbhmy

k7fdbhmy1#

我找到了答案

import imaplib
username ="example@gmail.com"
app_password= "example"
gmail_host= 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(gmail_host)
mail.login(username, app_password)
while True:
    mail.select()
    _, selected_mails = mail.search(None, 'ALL')
    print({len(selected_mails[0].split())})
vsikbqxv

vsikbqxv2#

只需在while循环中重复该命令

import imaplib
username ="example@gmail.com"
app_password= "example"
gmail_host= 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(gmail_host)
mail.login(username, app_password)
mail.select()
_, selected_mails = mail.search(None, 'ALL')
while True:
    _, selected_mails = mail.search(None, 'ALL')
    print({len(selected_mails[0].split())})

相关问题