使用windows任务调度程序运行Python脚本时控制台窗口突然关闭
我已经编写了一些Python代码来自动化任务。然后,我使用windows任务调度器安排Python脚本每周执行两次。任务正在运行,但存在两个问题 控制台打印一些错误。这很奇怪,因为当我在打开命令提示符后手动运行脚本时,一切都正常工作。这是我手工做的使用windows任务调度程序运行Python脚本时控制台窗口突然关闭,python,windows,python-3.x,python-3.5,windows-console,Python,Windows,Python 3.x,Python 3.5,Windows Console,我已经编写了一些Python代码来自动化任务。然后,我使用windows任务调度器安排Python脚本每周执行两次。任务正在运行,但存在两个问题 控制台打印一些错误。这很奇怪,因为当我在打开命令提示符后手动运行脚本时,一切都正常工作。这是我手工做的 cd directory directory>script.py 在任务调度器中,我直接指定了脚本的位置,作为C:\full\path\to\script.py运行 第二个问题是,我甚至无法诊断错误,因为控制台在执行脚本时立即关闭。尽管我在脚
cd directory
directory>script.py
在任务调度器中,我直接指定了脚本的位置,作为C:\full\path\to\script.py运行
第二个问题是,我甚至无法诊断错误,因为控制台在执行脚本时立即关闭。尽管我在脚本末尾添加了一个虚拟输入命令,如下所示:
All my Python code
input('Press any key to exit')
导入time
模块后,我还尝试使用time.sleep(60)
保持控制台打开
有人能告诉我如何保持控制台打开吗。让我重复一下,我正在使用windows任务计划程序运行脚本。手动运行脚本不会产生错误
谢谢。试试“python script.py”而不是“script.py”,我应该在哪里试试?是否需要在任务计划程序中编辑脚本的路径?创建测试任务:schtasks/Create/tn pytest/tr“C:\full\path\to\script.py”/sc once/st 00:00/sd 01/01/1900
。然后手动运行它:schtasks/run/tn pytest
。它能正常工作吗?或者在控制台上闪烁一个错误?@eryksun对不起,我不明白。我使用windows附带的GUI程序创建计划任务。因为,所有这些都是通过键入命令来完成的。我不完全明白。我是否必须键入所有的schtasks/1900
内部命令提示符?路径templates/functions.txt
取决于进程工作目录。但是模板
在脚本目录中。如果您有script\u dir=os.path.abspath(os.path.dirname(sys.argv[0])
,则手动创建完全限定路径,如下所示:the\u file=os.path.join(script\u dir,'templates','functions.txt')
。您也可以调用os.chdir(script\u dir)
来设置工作目录并继续使用相对路径,但这不能扩展到可能依赖于其他目录中的文件的多线程程序。同时修改工作目录是不安全的。请尝试“python script.py”而不是“script.py”,我应该在哪里尝试?是否需要在任务计划程序中编辑脚本的路径?创建测试任务:schtasks/Create/tn pytest/tr“C:\full\path\to\script.py”/sc once/st 00:00/sd 01/01/1900
。然后手动运行它:schtasks/run/tn pytest
。它能正常工作吗?或者在控制台上闪烁一个错误?@eryksun对不起,我不明白。我使用windows附带的GUI程序创建计划任务。因为,所有这些都是通过键入命令来完成的。我不完全明白。我是否必须键入所有的schtasks/1900
内部命令提示符?路径templates/functions.txt
取决于进程工作目录。但是模板
在脚本目录中。如果您有script\u dir=os.path.abspath(os.path.dirname(sys.argv[0])
,则手动创建完全限定路径,如下所示:the\u file=os.path.join(script\u dir,'templates','functions.txt')
。您也可以调用os.chdir(script\u dir)
来设置工作目录并继续使用相对路径,但这不能扩展到可能依赖于其他目录中的文件的多线程程序。同时修改工作目录是不安全的。