通过任务计划程序运行时,Python脚本给出不同的结果

时间:2019-05-29 05:00:26

标签: python win32com

我创建了一个批处理文件来运行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中发送电子邮件)。 知道为什么会这样。我搜索了几个问题,但找不到适合自己情况的答案/解决方案。

更新:在任务计划程序中,它直接获取Outlook收件箱中的最后一条消息。

0 个答案:

没有答案