Python v2.7.7 - 错误5访问被拒绝但文件副本无论如何

时间:2015-05-20 06:43:30

标签: python

>>> import shutil
>>> shutil.copy2('c:/trash/1.txt','r:/1.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\shutil.py", line 131, in copy2
    copystat(src, dst)
  File "C:\Python27\lib\shutil.py", line 100, in copystat
    os.chmod(dst, mode)
WindowsError: [Error 5] Access is denied: 'r:/1.txt'

想知道是否有人可以对此有所了解。这是通过Windows在提升的提示下发生的。我已经重新安装了分享,确认了权限,确保UAC也已关闭。

我试图将文件的副本复制到R:这是一个网络共享(freenas)。在此开始发生的最后2天之前没有任何问题。现在奇怪的是,即使它出现错误,文件也会复制。

在同一网络中的多个其他PC上进行了测试,只有另外一个有同样的问题,但似乎没有任何消息或想法是如何产生这个问题的。想法?

2 个答案:

答案 0 :(得分:0)

Hackish Workaround

通过查看跟踪输出,shutil.copy2无法在将文件复制到您的网络共享后立即更改文件的权限。 这意味着您的Linux网络共享服务器中的权限配置错误。

要解决此问题,请改用此功能

shutil.copyfile(r'c:\trash\1.txt',r'r:\1.txt')
从Windows机器将文件复制到基于Linux的网络共享时,我遇到了同样的问题

答案 1 :(得分:-1)

因为您必须具有“系统管理员权限”才能执行此操作。因此,请尝试使用系统管理员权限运行脚本。

在管理员命令提示符

中运行此命令

以管理员身份启动命令提示符

  1. 单击“开始”菜单。
  2. 在“搜索”栏中,键入cmd,然后按CTRL + SHIFT + ENTER。
  3. 运行python脚本,它将以管理员身份运行。