Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用windows任务调度程序运行Python脚本时控制台窗口突然关闭_Python_Windows_Python 3.x_Python 3.5_Windows Console - Fatal编程技术网

使用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运行 第二个问题是,我甚至无法诊断错误,因为控制台在执行脚本时立即关闭。尽管我在脚

我已经编写了一些Python代码来自动化任务。然后,我使用windows任务调度器安排Python脚本每周执行两次。任务正在运行,但存在两个问题

控制台打印一些错误。这很奇怪,因为当我在打开命令提示符后手动运行脚本时,一切都正常工作。这是我手工做的

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)
来设置工作目录并继续使用相对路径,但这不能扩展到可能依赖于其他目录中的文件的多线程程序。同时修改工作目录是不安全的。