变量没有按应有的方式更新
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
只是为了看看它是否有效。
我正在尝试创建一个程序,其中我使用名为 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
只是为了看看它是否有效。