无法通过计划程序正确运行Python脚本
问题描述:
因此,我研究并测试了多种方法以使其发挥作用,但我们的IT人员和我自己都不确定如何继续。最终,我需要在服务器上运行三个python脚本,这些脚本查看一组Excel文件并扫描错误。如果有错误,它会通过电子邮件向适当的人员解决问题。当通过CMD提示运行时,脚本本身可以正常工作,无论是单独还是批处理文件。当从命令提示符手动运行时,这些脚本完美工作。无法通过计划程序正确运行Python脚本
但是,当我尝试安排其中一个脚本或批处理文件时,它们不会全部运行。我在脚本的早期有一个打印语句,并且在Python.exe中运行正常,但脚本突然退出。这让我认为Python运行良好,但脚本的内容没有通过调度器正确运行。
为了简化故障排除,我创建了两个测试脚本test.py和test2.py,并将它们放在服务器的简单目录C:\ Store中。第一个脚本所做的就是向控制台输出一些内容,然后将某些内容写入文件并将其保存到根目录,然后等待用户输入。第二个脚本更简单,只是打印Python的体系结构和构建路径。这两个脚本在手动从命令提示符运行时工作正常。
**test.py** Does NOT Work as scheduled task
import io
print('JUST WORRRRRKKK!')
with open("//kaicmapp/Store/foobar.txt", "w") as file:
file.write("Hello!")
file.close()
raw_input("press any button")
**test2.py** Works as scheduled task
import sys
import platform
print("Python EXE : " + sys.executable)
print("Architecture : " + platform.architecture()[0])
raw_input("\n\nPress ENTER to quit")
什么我使用这些测试脚本:
- Python 2.7版32位
- Windows Server 2012中
- Windows用户配置文件具有管理员权限
- Python 2.7版的exe添加环境变量。在更名安装目录python2.exe,因为我也有Python 3中安装在serverand希望能够以独占方式运行它们
事情我已经尝试:
- 运行任务计划程序为管理员
- 运行带/不带最高权限仅在当前用户在
- 运行记录,无论当前用户的登录
- 运行,密码正确 进入
- 在批处理文件
- 该解决方案在这两个脚本
事情我已经注意到上市here,导致同样的结果运行脚本:
- 使用python2“C:\商店\ test2.py“将在调度程序中成功运行脚本,并提示等待用户输入。从调度程序运行结果说该操作已成功完成。 (0x0)
- 使用与上面相同的任务,但运行test.py而不会导致Python shell的任何输出,它只会弹出并消失。从调度程序运行结果说函数不正确。(0x80070001)
有关如何继续的任何想法?我对服务器管理任务不是很熟悉,所以我觉得这里很迷茫。