【问题标题】:"IOError [Errno 13] Permisson denied" when copy a file on Windows在 Windows 上复制文件时出现“IOError [Errno 13] Permission denied”
【发布时间】:2011-01-17 13:20:28
【问题描述】:

我写了一个程序,它将一个名为a.exe的文件复制到C:/Windows/,然后我用PyInstaller将它打包成exe,并将exe文件重命名为a.exe。当我运行exe文件时,它输出IOError [Errno 13] Permisson denied: 'C:/Windows/a.exe',但是文件a.exe 被复制到目录 C:/Windows。然后我以管理员身份运行它,它再次发生...... 一开始我用shututil.copy复制文件,然后我自己写了一个函数(打开a.exe,在C:/Windows下创建a.exe,读取a.exe的内容写入C:/Windows/a .exe,关闭所有),但它没有帮助......有什么想法吗?

【问题讨论】:

    标签: python windows


    【解决方案1】:

    检查 a.exe 是否具有只读属性。调用 shutil.copy 以覆盖具有只读属性集的现有文件时,会引发“权限被拒绝”错误

    【讨论】:

      【解决方案2】:

      显然,您正在尝试执行一个将自身移动到不同位置的文件......我想这行不通。

      【讨论】:

      • 请考虑在此处发布您的源代码的相关部分,否则我只能猜测您在尝试什么。
      • 对不起...我只是想您只需几行代码就可以尝试一下..
      【解决方案3】:

      您可以复制在 Windows 中打开的文件吗?我有一个模糊的记忆,你不能,文件会在你执行时打开。

      真的被抄袭了吗?它在复制之前不存在吗?它复制了整个文件吗?

      【讨论】:

      • 是的,它被复制了,甚至可以执行
      猜你喜欢
      • 2016-02-28
      • 2018-08-15
      • 2015-11-21
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 2014-05-03
      • 2018-07-21
      相关资源
      最近更新 更多