windows:python os.unlink 引发 OSError,[错误 5] 访问被拒绝

问题描述 投票:0回答:5

在 Windows 上运行(通过任务计划程序使用不同的用户帐户)Python 脚本并尝试使用 os.unlink 删除文件,但出现 [错误 5] 访问被拒绝异常。

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 est.tgz'

python windows python-2.7 unlink
5个回答
2
投票

使用:

os.system('rmdir "%s"' % path_of_link_to_delete)

为我工作


1
投票

该脚本由任务调度程序运行。有两个选项可以解决此问题:一是向用户帐户授予文件夹的完全控制权,以便脚本能够删除文件;二是向用户帐户授予文件夹的完全控制权,以便脚本能够删除文件。另一种是在任务计划程序中检查“以最高权限运行”。


0
投票

您可能没有以管理员身份运行脚本,右键单击cmd“以管理员身份运行”并在其中打开脚本


0
投票

您似乎没有正确调用

link()
方法。首先,Python 2.x 中的 Windows 不支持链接方法。您只能在 3.2 或更高版本中使用它。请参阅以下内容了解更多信息:

如果您转到该链接,您会注意到您需要提供至少 2 个参数。您只提供一个。

您收到的错误消息听起来像是权限问题。您可能需要以管理员身份运行脚本。该文件存在吗?如果没有,您就必须创建它。另请注意,在 Windows 中,您必须转义反斜杠或使用 Python 的原始字符串(即 r'C:\path o ile')


0
投票

如果您的目录包含内容,

rmdir
将不起作用。相反,做:

os.system(f'rm -rf {path_to_delete}')
© www.soinside.com 2019 - 2024. All rights reserved.