使用Windows Scheduler时,Python脚本找不到文件

问题描述

我有一个批处理文件来执行Python并运行一个Python脚本,该脚本在手动运行时可以正常运行。但是当使用Windows Task Scheduler运行时,Python脚本会给我回溯,因为它找不到与Python脚本位于同一文件中的.TXT文件

“批处理文件可以手动工作,但不能与Task Scheduler一起工作”的问题有很多种。我认为我的问题可能与我的Python脚本位于虚拟环境中有关。它也可能与Windows用户帐户和权限有关。过去有关Task Scheduler的帖子已通过更改与用户帐户相关的设置来解决,但到目前为止对我而言不起作用。

有关Windows Task Scheduler设置的更多详细信息:

以下是我为任务选择的设置:

enter image description here

当我使用“仅在用户登录时运行”选项时,我的任务最接近工作。如果我选​​择“无论用户是否登录都运行”,则该任务会打开命令提示符,但似乎没有执行任何操作

有关批处理文件的更多详细信息

我的批处理文件如下:

"C:\Users\MyPathtovirtualenvironment\virtualenv\Scripts\python.exe" "C:\Users\fried\Desktop\calendaralert\court_calendar_alert1.3_automatic.py" 
pause

手动运行时,它会执行预期的工作:从虚拟环境中执行Python,然后加载Python脚本,该脚本可以正常运行,除非从Windows Task Scheduler运行。

有关Python脚本的更多详细信息

Python脚本在命令提示符下作为批处理文件单独运行时运行良好,因此我认为它没有任何直接问题。这是脚本中导致回溯的部分。

with open('replacements.txt') as f:
    replacements = dict(x.rstrip().split("!") for x in f)

replacements.txt文件与我的Python程序位于同一文件夹中。我还尝试将文件副本放在“虚拟环境”文件夹和/ scripts子文件夹中,但没有成功。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)