在Windows上复制文件时“IOError [Errno 13]权限被拒绝”

时间:2011-01-17 13:20:29

标签: python windows

我写了一个程序,将一个名为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,关闭所有),但它没有帮助...任何想法?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

显然你正在尝试执行一个将自己移动到另一个地方的文件......我猜这不起作用。

答案 2 :(得分:0)

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

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