IO错误:[错误13]权限被拒绝:我有权限?
问题描述:
我想要做的是从一个文件夹内的文件夹中取出一个.mp3文件。多次。
一切都运行完美,除了当我尝试将文件复制到一个新的文件夹(已经存在),它给:[错误13]许可被拒绝:IO错误:[错误13]权限被拒绝:我有权限?
import os, shutil
def startup():
os.system("cls")
print "\n osu! Extractor."
print "\n Press ENTER to begin."
raw_input()
for basename in os.listdir('C:\Program Files (x86)\osu!\Songs'):
basename2 = ('C:\Program Files (x86)\osu!\Songs\\' + basename)
for song in os.listdir(basename2):
if song.endswith('.mp3'):
print song
raw_input()
shutil.copy(basename2, 'C:\Program Files (x86)\osu!\Extracted_Songs')
if __name__ == '__main__':
startup()
我知道我有机会复制它手动,我是我的电脑管理员,所以我不知道为什么会发生这种情况。帮助将不胜感激。
答
默认情况下,程序无权写入Program Files
和Program Files (x86)
。将文件保存到其他位置或授予程序权限(例如,以管理员身份运行它)。
(shoutouts俄勒冈州立大学!)
+0
另外值得一提的是,我尝试从桌面上的项目(在文件夹中)复制其他项目到桌面上的另一个文件夹。我仍然得到相同的错误,使用与上面相同的代码。 :C – Pumear 2013-02-09 20:41:43
运行脚本的管理。您可能必须以管理员身份运行'cmd.exe'才能执行此操作。 – Blender 2013-02-09 07:59:33
您应该使用原始字符串作为路径,或使用'os.path.join' – 2013-02-09 08:01:09
在较新的Windows上,如果UAC处于打开状态,则作为管理员并不一定意味着使用管理员权限运行每个命令。使用管理员权限运行也需要使用“以管理员身份运行”(有点像在UNIX上使用'sudo')你是否这样做? – 2013-02-09 08:09:13