Переменная не обновляется так, как должна - PullRequest
0 голосов
/ 16 июня 2019

Я пытаюсь создать программу, в которой я использую модуль под названием PGM.Это в основном модуль Gmail.Когда я получаю список идентификаторов электронной почты, а затем получаю количество идентификаторов, чтобы получить количество писем, которые у меня есть в папке «Входящие», это работает нормально, но вот что происходит, когда я помещаю бесконечный цикл, чтобы проверить наличие новыхсообщения электронной почты, когда я отправляю письмо на мой почтовый ящик, оно не обновляет номер.Он продолжает печатать одно и то же значение.

Вот код.

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)


1 Ответ

3 голосов
/ 16 июня 2019

Чистая оценка:

Возможно, соединение с imap будет открываться при каждой проверке.

Когда вы сами попробуете, каждый раз открывается новое соединение, и вы получаете последние результаты.

В цикле используется одно и то же соединение, и вы получаете тот же результат, поскольку imaplib не получает результаты с сервера снова.

Вы можете попробовать это:

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

просто чтобы посмотреть, работает ли это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...