窗口:python os.unlink引发OSError,访问被拒绝

运行(通过任务调度器使用不同的用户帐户)在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)