变量未按其应该的方式更新

2024-05-17 18:20:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个程序,其中我使用一个名为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)



Tags: 模块importid数量time电子邮件defcount
1条回答
网友
1楼 · 发布于 2024-05-17 18:20:54

纯估算:

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

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

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

你可以试试这个:

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

只是想看看是否有效

相关问题 更多 >