【问题标题】:Input Error: There is no script engine for file extension ".log"输入错误:文件扩展名“.log”没有脚本引擎
【发布时间】:2019-11-28 20:42:26
【问题描述】:

当我在批处理文件中运行 SAS 程序和 python 程序时出现此错误。

Input Error: There is no script engine for file extension ".log".

我发现因为它是由任务计划程序安排的,所以错误来自os.getcwd() 我在我的python程序中有。

我只是从运行代码的位置创建一个日志文件夹,并且由于它是从任务计划程序运行的,所以我不知道它是在哪里创建的,甚至会出现错误。当我硬编码并将os.getcwd() 替换为笔记本电脑中的实际路径时。例如:C:\My folder\\,错误消失。

除了在 python 中对路径进行硬编码之外,我该如何解决这个问题? 需要注意的是,如果我使用操作系统代码手动运行批处理文件,它会按预期工作。 Task Scheduler

的处理方式不同

【问题讨论】:

  • 也许您应该使用sys.path[0] 而不是os.getcwd(),因为当前工作目录与保存运行脚本的路径不同。事实上,您的任务调度程序可能会以受良好保护的\Windows\System32\ 目录作为当前目录运行。
  • 我使用了任务调度器的启动目录。这样 os.getcwd() 将在该文件夹上启动。

标签: python python-3.x batch-file scheduled-tasks


【解决方案1】:

在任务计划程序 -> 编辑操作设置中使用了显示 'Starts in (Optional)' 的可选文本框

我会输入我的 python 脚本所在的路径,因此创建的任何文件夹或文件都将从该目录开始。

【讨论】:

    猜你喜欢
    • 2012-09-24
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 2017-11-19
    • 1970-01-01
    相关资源
    最近更新 更多