2011-03-12 4 views
4

에 데이터를 저장하는 동안 내가 피클의 데이터를 저장하는 파이썬 코드 다음,하지만 난 IO 오류를 얻고있다IO 오류 피클

[Errno 13] Permission denied: 'data.pkl' 

코드

def SaveUserData(request): 
     datalist={} 
     datalist['empid']='127113' 
     datalist['empname']='eric' 
     datalist['empphone']='66335500' 
     datalist['email']='[email protected]' 
     output = open('data.pkl', 'wb') 
     pickle.dump(datalist, output) 
     output.close() 
     data = simplejson.dumps(datalist, indent=4) 
     return HttpResponse(data,mimetype='application/javascript') 
+0

data.pk1 파일의 쓰기 권한을 확인 했습니까? – DTing

+0

세부 사항! 분명히 프로그램에 파일을 열 수있는 권한이 없습니다. 물론 이미 알아 냈습니다. 그래서 질문은 왜 그것이 허가권을 가지지 않는지에 대한 것입니다 - 그리고 그 코드는 그 *와 아무 상관이 없습니다. – delnan

+0

권한은 다음과 같습니다. -rw -r -r-- – Hunt

답변

5

그럼 난 절대를 할당 경로 & 그것은 일했다! 내가 파이썬 3.4에 나타났습니다

output = open('/home/user/test/wsservice/data.pkl', 'wb') 
1

당신이 좋아 할 수 있습니다 : 내 경우
output = open(str(dataList), "wb")

1

을 내 현재 디렉토리의 문제였다.

현재 작업 디렉토리를 내 스크립트 디렉토리로 설정하기 위해 다음 행을 추가했습니다.

스크립트 디렉토리에 글쓰기에 관리자 권한이 필요하지 않은 경우 문제가 해결되기를 바랍니다.

import sys, os 

def getScriptPath(): 
    return os.path.dirname(os.path.realpath(sys.argv[0])) 

print 'Current working directory : ', os.getcwd() 
os.chdir(getScriptPath()) 
print 'Changed working directory : ', os.getcwd()