Скрипты Python дают разные результаты при запуске через планировщик задач - PullRequest
0 голосов
/ 29 мая 2019

Я создал командный файл для запуска скрипта Python.Сценарий работает нормально, когда я запускаю его, дважды щелкнув командный файл, но дает другой результат, когда я запускаю его через планировщик задач.Сценарий выглядит следующим образом:

import datetime    
import win32com.client
import os
import pandas as pd
import urllib
from sqlalchemy import create_engine

path = os.path.expanduser("//server/drive/folder")

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")

inbox = outlook.GetDefaultFolder(6) 


messages = inbox.Items
run_date = datetime.datetime.now().strftime("%m-%d-%Y")

message = messages.GetLast()

while message.SentOn.strftime("%m-%d-%Y") == run_date:
    if message.Subject.find("Some Subject") >= 0:
    for attachment in message.Attachments:
        if(attachment.FileName.find("xlsx") >= 0): 
        attachment.SaveAsFile(os.path.join(path, str(attachment)))
        FileToUpload = os.path.join(path, str(attachment))
        FileName = str(attachment)
        MessageToMove = message
    message = messages.GetPrevious()

log=[]

MessageToMove.Move(outlook.GetDefaultFolder(6).Folders("Done Folder"))

log.append(run_date)
log.append(message.Subject)
log_file = open("//server/drive/folderLog.txt", 'w')
for item in log: nodis=log_file.write("%s\n" % item)
log_file.close()

Я делаю еще несколько вещей в сценарии, которые не имеют отношения к этой ситуации.

Двойной щелчок работает правильно и сравнивает только те письма, которые я получил сегодня, а «сообщение» - это первое сообщение за вчерашний день, но планировщик задач сравнивает до последнего письма, которое я получил в моем внешнем виде («сообщение»)это последнее письмо в моем мировоззрении).Любая идея, почему это происходит.Я искал несколько вопросов, но не смог найти ответ / решение для своей ситуации.

Обновление: в планировщике задач он непосредственно принимает последнее сообщение из папки входящих сообщений Outlook.

...