ValueError: нельзя форматировать даты так рано

Я пытаюсь получить время следующего выполнения запланированной задачи, используя ITASKDEFINITION но у меня возникли проблемы с получением NextRunTime Я получаю сообщение об ошибке

Traceback (most recent call last):
  File "WSTC.py", line 34, in <module>
    print('NextRun    : %s\n' % task.NextRunTime)
ValueError: can't format dates this early

Вот пример кода:

import win32com.client

TASK_ENUM_HIDDEN = 0
TASK_STATE = {0: 'Unknown',
              1: 'Disabled',
              2: 'Queued',
              3: 'Ready',
              4: 'Running'}

scheduler = win32com.client.Dispatch('Schedule.Service')
scheduler.Connect()

folders = [scheduler.GetFolder('\\')]
n = 0
while folders:
    folder = folders.pop(0)
    folders += list(folder.GetFolders(0))
    tasks = list(folder.GetTasks(TASK_ENUM_HIDDEN))

    for task in tasks:
        settings = task.Definition.Settings
        if TASK_STATE[task.State] == 'Running':
            print('Path       : %s' % task.Path)
            print('State      : %s' % TASK_STATE[task.State])
            print('NextRun    : %s\n' % task.NextRunTime)
            n += 1
print ('Listed %d tasks.' % n)

Любая помощь или помощь в этом очень ценится. Спасибо!


person LearningNoob    schedule 17.12.2018    source источник
comment
Можете ли вы также вставить свою трассировку ошибок?   -  person Kishan Mehta    schedule 17.12.2018
comment
Конечно, добавил.   -  person LearningNoob    schedule 17.12.2018
comment
возможный ответ на вашу проблему: stackoverflow.com/a/31186407/2286762   -  person Kishan Mehta    schedule 17.12.2018
comment
Не могли бы вы пояснить, как del или scheduler = None должны работать в моем коде? Мне трудно понять это   -  person LearningNoob    schedule 17.12.2018
comment
В вашем случае вы должны удалить свой scheduler в конце каждого цикла.   -  person Kishan Mehta    schedule 17.12.2018


Ответы (1)


Покопавшись глубже и прочитав об этой ошибке. Похоже, что эта проблема только в более ранних версиях Python (я использую Python 2.7). Я попытался обновить python до последней версии, и он возвращает дату меньше 1900 года и больше не генерирует исключение ValueError.

ИСТОЧНИКИ: 1 2

person LearningNoob    schedule 19.12.2018