变量没有按应有的方式更新

Variable isn't updating as it should it be

我正在尝试创建一个程序,其中我使用名为 PGM 的模块。这基本上是一个 gmail 模块。当我获取电子邮件 ID 列表然后获取 ID 数量以获取我收件箱中的电子邮件数量时,它工作正常,但是当我放入无限循环以检查任何新的电子邮件,当我向收件箱发送电子邮件时,它不会更新号码。它一直打印相同的值。

这是代码。

import PGM,time
from playsound import playsound

mail = PGM.MailReader('username', 'password')

def sound():
    playsound('youve-got-mail-sound.mp3')




def countList():
    List = mail.get_mail_ids()
    count = len(List)
    tracker = count
    return tracker

countList()

while True:
    countList()
    print(countList())
    time.sleep(1)


纯估计:

可能是 imap 连接应该在每次检查时重新打开。

当你自己尝试时,每次都会打开一个新的连接,你会得到最新的结果。

在循环时,使用相同的连接并得到相同的结果,因为 imaplib 不会再次从服务器获取结果。

你可以试试这个:

while 1:
    mail = PGM.MailReader('username', 'password')
    # rest of your code logic

只是为了看看它是否有效。