2012-06-20 2 views
4

는 여기에 내가 맥 OS X에서 실행하기 위해 노력하고있어 내 코드입니다 :'IO 오류 : 13'권한이 맥 OS X에 '거부

import getpass #Needed for fetching username 
import shutil #Needed for moving Files 
import os 
var_username = getpass.getuser() #gets username and returns as variable 
source_file = r"/Users/%s//Downloads/LogNLock/com.lognlock.loginhook.plist" %(var_username) #the destination of the source file 
destination = r"/Library/LaunchAgents" #the target destination for the file to go 
shutil.copy(source_file, destination) #moves the source file to the destination folder 

와 나는했습니다 주위에 인터넷 검색 및 작동하지 않을 이유를 알아낼 수 없습니다. 배경 정보 : 데스크탑에서 문서로 파일을 옮길 때 작동하지만, 어떻게해야 root 사용자 권한이 필요한지 생각합니다. 메신저 지금 관리자 계정에.

+0

source_file = R "/ 사용자/%의 // ..."<-이 //의 또한 문자열 보간 그냥 %의 var_username 또는 % (var_username) –

답변

9

파일을 복사하려는 폴더의 사용 권한이 스크립트를 실행중인 사용자로이 작업을 수행하기에 충분하지 않습니다. 이것은 실제로 파이썬 문제가 아닙니다. 사용자에게 해당 폴더에 대한 쓰기 권한을 부여하거나 스크립트를 루트로 실행해야합니다.

루트로 스크립트를 실행하려면 :

sudo python your_python_script.py 

나는 당신이 그 일을 할 관리자 사용자로해야합니다 생각합니다. 'sudo'는 '수퍼 유저로 수행'을 의미하는 명령입니다.

, 당신은 다시

sudo chmod a+rw /path/to/folder/that/you/want/to/write/to 

을 시도 할 수 폴더의 권한을 변경하려면 사용자가 수퍼 유저로이 일을 할 것, chmod를 파일이나 디렉토리의 권한을 변경하는 명령입니다. 'a + rw'는 '모든 사용자에게 읽기/쓰기 권한을 부여합니다. 이것은 나쁜 생각일지도 모르지만 당신의 컴퓨터에서 로컬로 실행하는 것처럼 들립니다.

+0

해야 어떻게 그 중 하나를 할 것 소지품? 나는 아주 새롭다. – Simmrl