运行(通过任务调度器使用不同的用户帐户)在Windows上的Python脚本,并试图通过使用os.unlink删除文件,但得到[错误5]访问被拒绝exception。
try: os.unlink(file_path) except OSError as error: logger.error('failed, error: {0}'.format(error))
2014-09-18 03:53:44,023 – 错误:[错误5]访问被拒绝:u'C:\ path \ test.tgz'
使用:
os.system('rmdir "%s"' % path_of_link_to_delete)
为我工作
该脚本由任务调度程序运行。 有两个选项可以解决这个问题:一个是授予对该用户帐户的文件夹的完全控制权,以便该脚本能够删除文件; 另一个是在任务调度器中检查“以最高权限运行”。
你可能没有以管理员身份运行脚本,右键单击cmd“以管理员身份运行”,然后在其中打开脚本
它似乎没有正确调用link()
方法。 首先,Python 2.x中的Windows不支持链接方法。 你只能在3.2或更高版本中使用它。 有关详情,请参阅以下内容:
如果你去那个链接,你会注意到你需要提供至少2个参数。 你只提供一个。
您收到的错误消息听起来像一个权限问题。 您可能需要以管理员身份运行脚本。 文件是否存在? 如果没有,你将不得不创建它。 另外请注意,在Windows中,您必须避免反斜杠或使用Python的原始字符串(即r'C:\ path \ to \ file)