PermissionError-任务计划程序

Posted

技术标签:

【中文标题】PermissionError-任务计划程序【英文标题】:PermissionError-Task Scheduler 【发布时间】:2020-07-25 08:51:02 【问题描述】:

当我运行从 bat 文件寻址的 python 脚本时,它运行良好。 尝试使用 Windows 任务计划程序运行它,我得到:

     with open('source.txt', '+w') as sour:
PermissionError: [Errno 13] Permission denied: 'source.txt'

有什么想法吗?

【问题讨论】:

source.txt的位置未指定,表示正在尝试将其写入当前目录。当您从调度程序运行任务时,您很可能是从以C:\Windows\System32 作为当前目录运行它的配置文件执行此操作的。该位置受到保护,因为它是系统目录。解决方法是为您的任务指定“开始”目录,或者至少将脚本中的目录更改为您期望的目录。我强烈推荐前一个选项。 【参考方案1】:

从任务计划程序运行时,您当前的工作目录很可能对您不可写。您可以通过简单地进行检查

print(os.getcwd())

而且修复非常简单——只需使用不同的位置,即使用文件的绝对路径或使用os.fchdir() 更改您的目录。

【讨论】:

以上是关于PermissionError-任务计划程序的主要内容,如果未能解决你的问题,请参考以下文章

WinServer2008配置任务计划

使用 Windows 任务计划程序打开 cmd 文件时执行但不启动服务器

CentOS7计划任务crontab

linux:crontab

7.控制计划任务crontab命令

Linux下计划任务以及crontab权限问题