我创建了两个文件:一个是main.py,另一个是default.j2。当我从都位于其中的“代码”文件夹(main.py和default.j2)运行cmd时,它可以正常工作,但是我尝试在Windows Task Scheduler上自动执行脚本,它显示“没有模板文件:默认。 j2”,即使该模板存在于路径/文件夹中。
下面是我用来检查是否找到路径的代码。
CrossHairWidget = CreateWidget<UUserWidget>(GetGameInstance(), wCrossHairWidget, name);
答案 0 :(得分:1)
This link注意Windows Task Scheduler从c:\%WINDIR%\System32
运行。因此,如果您仅通过Task Scheduler使用文件的文件名,它将查找c:\%WINDIR%\System32\default.j2
而不是(code)\default.j2
。
您可以使用
import os
os.chdir(code_dir)
(run your code)
或者您可以尝试从here获得建议,以防main.py
的位置将来可能会更改,或者在其他目录中还有类似的其他文件。因此,一种选择是:
os.chdir(os.path.dirname(__file__))
另一个选择是:
template = os.path.join(os.chdir(os.path.dirname(__file__)), "default.j2")