2013-02-09 4 views
1

내가하려는 일은 폴더 내의 폴더에서 .mp3 파일을 가져 오는 것입니다. 여러 번. 나는 새로운 폴더에 파일을 (이미 존재하는)를 복사 할 때
모든이를 제외하고 완벽하게 작동하고 있습니다 : [errno를 13] 권한이 거부 :IO 오류 : [Errno 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() 

은 내가 복사 액세스 할 수 있는지 알고 수동으로, 그리고 나는 내 컴퓨터에 대한 관리자 다. 그래서 나는 이것이 일어나고있는 이유를 전혀 모른다. 도움말 크게 감사하겠습니다.

+0

실행 admin으로 스크립트. 'cmd.exe'를 관리자 권한으로 실행해야 할 수도 있습니다. – Blender

+1

경로에 원시 문자열을 사용하거나'os.path.join'을 사용해야합니다. –

+0

최신 버전의 Windows에서는 UAC가 켜지면 관리자가 되어도 모든 명령을 관리자 권한으로 실행하지 않아도됩니다. 관리자 권한으로 실행하려면 "관리자 권한으로 실행"을 사용해야합니다 (UNIX에서'sudo'를 사용하는 것과 비슷합니다). –

답변

2

기본적으로 프로그램에는 Program FilesProgram Files (x86)에 쓸 수있는 권한이 없습니다. 파일을 다른 위치에 저장하거나 프로그램에 권한을 부여하십시오 (예 : 관리자로 실행).

(오스에 shoutouts!)

+0

또한 언급할만한 가치가있는, 데스크탑의 다른 항목 (데스크탑)의 다른 항목을 바탕 화면의 다른 폴더로 복사하려고했습니다. 위와 같은 코드를 사용하여 동일한 오류가 발생합니다. :기음 – Pumear